Skip to content

Commit e483279

Browse files
committed
Updated navigation bar UI with 2 new drop down menus (still not functioning)
1 parent 5ee97c7 commit e483279

12 files changed

+372
-113
lines changed

CodeLite/codelite_events.cpp

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ wxDEFINE_EVENT(wxEVT_WORKSPACE_CLOSING, wxCommandEvent);
1111
wxDEFINE_EVENT(wxEVT_FILE_VIEW_INIT_DONE, wxCommandEvent);
1212
wxDEFINE_EVENT(wxEVT_FILE_VIEW_REFRESHED, wxCommandEvent);
1313
wxDEFINE_EVENT(wxEVT_FILE_EXP_INIT_DONE, wxCommandEvent);
14-
wxDEFINE_EVENT(wxEVT_FILE_EXP_REFRESHED, wxCommandEvent);
14+
wxDEFINE_EVENT(wxEVT_FILE_EXP_REFRESHED, wxCommandEvent);
1515
wxDEFINE_EVENT(wxEVT_CMD_FILE_EXP_ITEM_EXPANDING, wxCommandEvent);
1616
wxDEFINE_EVENT(wxEVT_TREE_ITEM_FILE_ACTIVATED, clCommandEvent);
1717
wxDEFINE_EVENT(wxEVT_PROJ_FILE_ADDED, clCommandEvent);
@@ -99,28 +99,28 @@ wxDEFINE_EVENT(wxEVT_COLOUR_TAB, clColourEvent);
9999
wxDEFINE_EVENT(wxEVT_WORKSPACE_VIEW_BUILD_STARTING, clCommandEvent);
100100
wxDEFINE_EVENT(wxEVT_WORKSPACE_VIEW_CUSTOMIZE_PROJECT, clColourEvent);
101101
wxDEFINE_EVENT(wxEVT_GET_TAB_BORDER_COLOUR, clColourEvent);
102-
wxDEFINE_EVENT(wxEVT_DBG_UI_START, clDebugEvent);
103-
wxDEFINE_EVENT(wxEVT_DBG_UI_CONTINUE, clDebugEvent);
104-
wxDEFINE_EVENT(wxEVT_DBG_UI_STOP, clDebugEvent);
105-
wxDEFINE_EVENT(wxEVT_DBG_UI_STEP_IN, clDebugEvent);
106-
wxDEFINE_EVENT(wxEVT_DBG_UI_STEP_I, clDebugEvent);
107-
wxDEFINE_EVENT(wxEVT_DBG_UI_STEP_OUT, clDebugEvent);
108-
wxDEFINE_EVENT(wxEVT_DBG_UI_NEXT, clDebugEvent);
109-
wxDEFINE_EVENT(wxEVT_DBG_UI_NEXT_INST, clDebugEvent);
110-
wxDEFINE_EVENT(wxEVT_DBG_UI_INTERRUPT, clDebugEvent);
111-
wxDEFINE_EVENT(wxEVT_DBG_UI_SHOW_CURSOR, clDebugEvent);
112-
wxDEFINE_EVENT(wxEVT_DBG_UI_RESTART, clDebugEvent);
113-
wxDEFINE_EVENT(wxEVT_DBG_IS_RUNNING, clDebugEvent);
102+
wxDEFINE_EVENT(wxEVT_DBG_UI_START, clDebugEvent);
103+
wxDEFINE_EVENT(wxEVT_DBG_UI_CONTINUE, clDebugEvent);
104+
wxDEFINE_EVENT(wxEVT_DBG_UI_STOP, clDebugEvent);
105+
wxDEFINE_EVENT(wxEVT_DBG_UI_STEP_IN, clDebugEvent);
106+
wxDEFINE_EVENT(wxEVT_DBG_UI_STEP_I, clDebugEvent);
107+
wxDEFINE_EVENT(wxEVT_DBG_UI_STEP_OUT, clDebugEvent);
108+
wxDEFINE_EVENT(wxEVT_DBG_UI_NEXT, clDebugEvent);
109+
wxDEFINE_EVENT(wxEVT_DBG_UI_NEXT_INST, clDebugEvent);
110+
wxDEFINE_EVENT(wxEVT_DBG_UI_INTERRUPT, clDebugEvent);
111+
wxDEFINE_EVENT(wxEVT_DBG_UI_SHOW_CURSOR, clDebugEvent);
112+
wxDEFINE_EVENT(wxEVT_DBG_UI_RESTART, clDebugEvent);
113+
wxDEFINE_EVENT(wxEVT_DBG_IS_RUNNING, clDebugEvent);
114114
wxDEFINE_EVENT(wxEVT_DBG_UI_TOGGLE_BREAKPOINT, clDebugEvent);
115-
wxDEFINE_EVENT(wxEVT_DBG_CAN_INTERACT, clDebugEvent );
116-
wxDEFINE_EVENT(wxEVT_DBG_EXPR_TOOLTIP, clDebugEvent );
115+
wxDEFINE_EVENT(wxEVT_DBG_CAN_INTERACT, clDebugEvent);
116+
wxDEFINE_EVENT(wxEVT_DBG_EXPR_TOOLTIP, clDebugEvent);
117117

118118
wxDEFINE_EVENT(wxEVT_DBG_IS_PLUGIN_DEBUGGER, clDebugEvent);
119-
wxDEFINE_EVENT(wxEVT_DBG_UI_QUICK_DEBUG, clDebugEvent);
120-
wxDEFINE_EVENT(wxEVT_DBG_UI_CORE_FILE, clDebugEvent);
121-
wxDEFINE_EVENT(wxEVT_DBG_UI_ATTACH_TO_PROCESS, clDebugEvent);
122-
wxDEFINE_EVENT(wxEVT_DBG_UI_DELTE_ALL_BREAKPOINTS, clDebugEvent);
123-
wxDEFINE_EVENT(wxEVT_DBG_UI_ENABLE_ALL_BREAKPOINTS, clDebugEvent);
119+
wxDEFINE_EVENT(wxEVT_DBG_UI_QUICK_DEBUG, clDebugEvent);
120+
wxDEFINE_EVENT(wxEVT_DBG_UI_CORE_FILE, clDebugEvent);
121+
wxDEFINE_EVENT(wxEVT_DBG_UI_ATTACH_TO_PROCESS, clDebugEvent);
122+
wxDEFINE_EVENT(wxEVT_DBG_UI_DELTE_ALL_BREAKPOINTS, clDebugEvent);
123+
wxDEFINE_EVENT(wxEVT_DBG_UI_ENABLE_ALL_BREAKPOINTS, clDebugEvent);
124124
wxDEFINE_EVENT(wxEVT_DBG_UI_DISABLE_ALL_BREAKPOINTS, clDebugEvent);
125125
wxDEFINE_EVENT(wxEVT_CMD_OPEN_PROJ_SETTINGS, clCommandEvent);
126126
wxDEFINE_EVENT(wxEVT_WORKSPACE_RELOAD_STARTED, clCommandEvent);
@@ -141,7 +141,7 @@ wxDEFINE_EVENT(wxEVT_CONTEXT_MENU_WORKSPACE, clContextMenuEvent);
141141
wxDEFINE_EVENT(wxEVT_CONTEXT_MENU_TAB_LABEL, clContextMenuEvent);
142142
wxDEFINE_EVENT(wxEVT_CMD_COLOURS_FONTS_UPDATED, clCommandEvent);
143143
wxDEFINE_EVENT(wxEVT_FILE_LOADED, clCommandEvent);
144-
wxDEFINE_EVENT(wxEVT_CL_FRAME_TITLE, clCommandEvent);
144+
wxDEFINE_EVENT(wxEVT_CL_FRAME_TITLE, clCommandEvent);
145145
wxDEFINE_EVENT(wxEVT_BEFORE_EDITOR_SAVE, clCommandEvent);
146146
wxDEFINE_EVENT(wxEVT_EDITOR_MODIFIED, clCommandEvent);
147147
wxDEFINE_EVENT(wxEVT_CLANG_CODE_COMPLETE_MESSAGE, clCommandEvent);
@@ -164,3 +164,5 @@ wxDEFINE_EVENT(wxEVT_WORKSPACE_BUILD_CONFIG_CHANGED, clCommandEvent);
164164
wxDEFINE_EVENT(wxEVT_GOTO_ANYTHING_SELECTED, clGotoEvent);
165165
wxDEFINE_EVENT(wxEVT_GOTO_ANYTHING_SHOWING, clGotoEvent);
166166
wxDEFINE_EVENT(wxEVT_GOTO_ANYTHING_SORT_NEEDED, clGotoEvent);
167+
wxDEFINE_EVENT(wxEVT_NAVBAR_SCOPE_MENU_SHOWING, clContextMenuEvent);
168+
wxDEFINE_EVENT(wxEVT_NAVBAR_SCOPE_MENU_SELECTION_MADE, clCommandEvent);

CodeLite/codelite_events.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -795,4 +795,11 @@ wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CL, wxEVT_GOTO_ANYTHING_SORT_NEEDED, clGoto
795795
// Build configuration for the workspace has changed
796796
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CL, wxEVT_WORKSPACE_BUILD_CONFIG_CHANGED, clCommandEvent);
797797

798+
// The navigation bar is about show the scope drop down menu
799+
// Build the menu using clContextMenuEvent::GetMenu()
800+
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CL, wxEVT_NAVBAR_SCOPE_MENU_SHOWING, clContextMenuEvent);
801+
802+
// User selected an entry from the scope drop down menu. GetString() contains the selected string
803+
wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CL, wxEVT_NAVBAR_SCOPE_MENU_SELECTION_MADE, clCommandEvent);
804+
798805
#endif // CODELITE_EVENTS_H

LiteEditor.workspace

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@
372372
<Project Name="SampleWorksapce" ConfigName="Debug"/>
373373
<Project Name="SmartCompletion" ConfigName="Win_x64_Debug"/>
374374
</WorkspaceConfiguration>
375-
<WorkspaceConfiguration Name="Win_x64_Release" Selected="yes">
375+
<WorkspaceConfiguration Name="Win_x64_Release" Selected="no">
376376
<Environment/>
377377
<Project Name="AutoSave" ConfigName="Win_x64_Release"/>
378378
<Project Name="CCTest" ConfigName="Debug"/>
@@ -430,7 +430,7 @@
430430
<Project Name="wxsqlite3" ConfigName="Win_x64_Release"/>
431431
<Project Name="SmartCompletion" ConfigName="Win_x64_Release"/>
432432
</WorkspaceConfiguration>
433-
<WorkspaceConfiguration Name="Win_x64_Debug" Selected="no">
433+
<WorkspaceConfiguration Name="Win_x64_Debug" Selected="yes">
434434
<Environment/>
435435
<Project Name="AutoSave" ConfigName="Win_x64_Debug"/>
436436
<Project Name="CCTest" ConfigName="Debug"/>

Plugin/clEditorBar.cpp

Lines changed: 88 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "ColoursAndFontsManager.h"
22
#include "IWorkspace.h"
3+
#include "bitmap_loader.h"
34
#include "clEditorBar.h"
45
#include "clTabRenderer.h"
56
#include "clWorkspaceManager.h"
@@ -24,31 +25,44 @@
2425

2526
clEditorBar::clEditorBar(wxWindow* parent)
2627
: clEditorBarBase(parent)
28+
, m_scopeButtonState(eButtonState::kNormal)
2729
, m_state(eButtonState::kNormal)
30+
, m_bookmarksButtonState(eButtonState::kNormal)
2831
{
29-
wxBitmap bmp(1, 1);
30-
wxMemoryDC memDC(bmp);
31-
m_defaultColour = DrawingUtils::GetPanelTextColour();
32-
m_functionColour = DrawingUtils::GetPanelTextColour();
33-
m_classColour = DrawingUtils::GetPanelTextColour();
34-
m_bgColour = DrawingUtils::GetPanelBgColour();
35-
m_textFont = m_textFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
36-
LexerConf::Ptr_t defaultLexer = ColoursAndFontsManager::Get().GetLexer("default");
37-
if(defaultLexer) { m_textFont = defaultLexer->GetFontForSyle(0); }
38-
39-
EventNotifier::Get()->Bind(wxEVT_ACTIVE_EDITOR_CHANGED, &clEditorBar::OnEditorChanged, this);
40-
EventNotifier::Get()->Bind(wxEVT_CMD_PAGE_CHANGED, &clEditorBar::OnEditorChanged, this);
41-
EventNotifier::Get()->Bind(wxEVT_ALL_EDITORS_CLOSED, &clEditorBar::OnEditorChanged, this);
42-
EventNotifier::Get()->Bind(wxEVT_CL_THEME_CHANGED, &clEditorBar::OnThemeChanged, this);
43-
SetBackgroundStyle(wxBG_STYLE_PAINT);
44-
45-
memDC.SetFont(m_textFont);
46-
wxSize sz = memDC.GetTextExtent("Tp");
47-
sz.y += 2 * Y_SPACER; // 2*3 pixels
48-
SetSizeHints(wxSize(-1, sz.y));
49-
50-
Bind(wxEVT_ENTER_WINDOW, &clEditorBar::OnEnterWindow, this);
51-
Bind(wxEVT_LEAVE_WINDOW, &clEditorBar::OnLeaveWindow, this);
32+
{
33+
wxBitmap bmp(1, 1);
34+
wxMemoryDC memDC(bmp);
35+
m_defaultColour = DrawingUtils::GetPanelTextColour();
36+
m_functionColour = DrawingUtils::GetPanelTextColour();
37+
m_classColour = DrawingUtils::GetPanelTextColour();
38+
m_bgColour = DrawingUtils::GetPanelBgColour();
39+
m_textFont = m_textFont = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
40+
LexerConf::Ptr_t defaultLexer = ColoursAndFontsManager::Get().GetLexer("default");
41+
if(defaultLexer) { m_textFont = defaultLexer->GetFontForSyle(0); }
42+
43+
EventNotifier::Get()->Bind(wxEVT_ACTIVE_EDITOR_CHANGED, &clEditorBar::OnEditorChanged, this);
44+
EventNotifier::Get()->Bind(wxEVT_CMD_PAGE_CHANGED, &clEditorBar::OnEditorChanged, this);
45+
EventNotifier::Get()->Bind(wxEVT_ALL_EDITORS_CLOSED, &clEditorBar::OnEditorChanged, this);
46+
EventNotifier::Get()->Bind(wxEVT_CL_THEME_CHANGED, &clEditorBar::OnThemeChanged, this);
47+
SetBackgroundStyle(wxBG_STYLE_PAINT);
48+
49+
memDC.SetFont(m_textFont);
50+
wxSize sz = memDC.GetTextExtent("Tp");
51+
sz.y += (2 * Y_SPACER); // 2*3 pixels
52+
SetSizeHints(wxSize(-1, sz.y));
53+
}
54+
55+
{
56+
m_bookmarksBmp = wxBitmap(16, 16);
57+
wxMemoryDC memDC(m_bookmarksBmp);
58+
wxColour c("rgb(255, 128, 64)");
59+
memDC.SetPen(wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW));
60+
memDC.SetBrush(wxColour(c));
61+
memDC.DrawRectangle(0, 0, 16, 16);
62+
memDC.SelectObject(wxNullBitmap);
63+
}
64+
65+
Bind(wxEVT_IDLE, &clEditorBar::OnIdle, this);
5266
Bind(wxEVT_LEFT_UP, &clEditorBar::OnLeftUp, this);
5367
}
5468

@@ -58,8 +72,7 @@ clEditorBar::~clEditorBar()
5872
EventNotifier::Get()->Unbind(wxEVT_CMD_PAGE_CHANGED, &clEditorBar::OnEditorChanged, this);
5973
EventNotifier::Get()->Unbind(wxEVT_ALL_EDITORS_CLOSED, &clEditorBar::OnEditorChanged, this);
6074
EventNotifier::Get()->Unbind(wxEVT_CL_THEME_CHANGED, &clEditorBar::OnThemeChanged, this);
61-
Unbind(wxEVT_ENTER_WINDOW, &clEditorBar::OnEnterWindow, this);
62-
Unbind(wxEVT_LEAVE_WINDOW, &clEditorBar::OnLeaveWindow, this);
75+
Unbind(wxEVT_IDLE, &clEditorBar::OnIdle, this);
6376
Unbind(wxEVT_LEFT_UP, &clEditorBar::OnLeftUp, this);
6477
}
6578

@@ -70,62 +83,54 @@ void clEditorBar::OnPaint(wxPaintEvent& e)
7083
PrepareDC(bdc);
7184
wxGCDC gcdc(bdc);
7285
PrepareDC(gcdc);
73-
86+
87+
wxFont guiFont = clTabRenderer::GetTabFont();
7488
wxRect rect(GetClientRect());
7589
gcdc.SetPen(m_bgColour);
7690
gcdc.SetBrush(m_bgColour);
7791
gcdc.DrawRectangle(rect);
7892

93+
// Draw the text
94+
wxCoord textX = X_SPACER;
95+
gcdc.SetFont(guiFont);
96+
7997
wxString fulltext;
8098
if(!m_classname.IsEmpty()) { fulltext << m_classname << "::"; }
8199
if(!m_function.IsEmpty()) { fulltext << m_function; }
82100

83-
gcdc.SetFont(m_textFont);
84-
fulltext << "wwww"; // spacer
85-
// wxSize fulltextSize = gcdc.GetTextExtent(fulltext);
86-
87-
// Draw the text
88-
wxCoord textX = X_SPACER;
89-
gcdc.SetFont(m_textFont);
90-
wxSize textSize;
91-
wxCoord textY = ((rect.GetHeight() - gcdc.GetTextExtent("Tp").GetHeight()) / 2);
92-
93-
const int filenameButtonWidth = 400 + (4 * X_SPACER);
94-
95-
if(!m_classname.IsEmpty()) {
96-
textSize = gcdc.GetTextExtent(m_classname);
97-
gcdc.SetTextForeground(m_classColour);
98-
gcdc.DrawText(m_classname, textX, textY);
99-
textX += textSize.x;
100-
101-
textSize = gcdc.GetTextExtent("::");
102-
gcdc.SetTextForeground(m_defaultColour);
103-
gcdc.DrawText("::", textX, textY);
104-
textX += textSize.x;
105-
}
106-
107-
if(!m_function.IsEmpty()) {
108-
textSize = gcdc.GetTextExtent(m_function);
109-
gcdc.SetTextForeground(m_functionColour);
110-
gcdc.DrawText(m_function, textX, textY);
111-
textX += textSize.x;
101+
if(!fulltext.IsEmpty()) {
102+
int scopeButtonWidth = gcdc.GetTextExtent("W" + fulltext + "W").GetWidth();
103+
m_scopeRect = wxRect(textX, 0, scopeButtonWidth + 20, rect.GetHeight() - 2);
104+
DrawingUtils::DrawButton(gcdc, this, m_scopeRect, fulltext, wxNullBitmap, eButtonKind::kDropDown,
105+
m_scopeButtonState);
106+
textX += m_scopeRect.GetWidth();
112107
}
113-
108+
109+
textX += X_SPACER;
114110
if(!m_breadcrumbs.IsEmpty()) {
115111
wxString breadcumbsText;
116112
for(size_t i = 0; i < m_breadcrumbs.size(); ++i) {
117113
breadcumbsText << m_breadcrumbs.Item(i) << " / ";
118114
}
115+
119116
breadcumbsText.RemoveLast(3);
120-
wxFont guiFont = clTabRenderer::GetTabFont();
121117
gcdc.SetFont(guiFont);
118+
int filenameButtonWidth = gcdc.GetTextExtent("W" + breadcumbsText + "W").GetWidth();
119+
122120
// Geometry
123-
m_filenameRect = wxRect(GetClientRect().GetWidth() - filenameButtonWidth - X_SPACER, 0, filenameButtonWidth,
124-
rect.GetHeight() - 2);
121+
m_filenameRect = wxRect(textX, 0, filenameButtonWidth, rect.GetHeight() - 2);
125122
DrawingUtils::DrawButton(gcdc, this, m_filenameRect, breadcumbsText, wxNullBitmap, eButtonKind::kDropDown,
126123
m_state);
127124
textX += filenameButtonWidth;
128-
textX += (2 * X_SPACER);
125+
textX += X_SPACER;
126+
127+
wxString bookmarksLabel = _("Bookmarks");
128+
wxSize bookmarksTextSize = gcdc.GetTextExtent(bookmarksLabel);
129+
130+
// Add 60 (about 40 for the image and 20 needed for the drop down button
131+
m_bookmarksRect = wxRect(textX, 0, bookmarksTextSize.GetWidth() + 60, rect.GetHeight() - 2);
132+
DrawingUtils::DrawButton(gcdc, this, m_bookmarksRect, bookmarksLabel, m_bookmarksBmp, eButtonKind::kDropDown,
133+
m_bookmarksButtonState);
129134
}
130135
}
131136

@@ -207,8 +212,11 @@ void clEditorBar::OnEditorSize(wxSizeEvent& event)
207212
DoRefreshColoursAndFonts();
208213
}
209214

210-
void clEditorBar::OnLeftDown(wxMouseEvent& e)
215+
void clEditorBar::OnLeftDown(wxMouseEvent& e) { e.Skip(); }
216+
217+
void clEditorBar::OnLeftUp(wxMouseEvent& e)
211218
{
219+
e.Skip();
212220
if(m_filenameRect.Contains(e.GetPosition())) {
213221
wxMenu menu;
214222
wxString text;
@@ -263,23 +271,28 @@ void clEditorBar::OnLeftDown(wxMouseEvent& e)
263271
::CopyToClipboard(text);
264272
clGetManager()->SetStatusMessage((wxString() << "'" << text << _("' copied!")), 2);
265273
}
274+
} else if(m_bookmarksRect.Contains(e.GetPosition())) {
275+
// TODO: show bookmarks menu here
276+
} else if(m_scopeRect.Contains(e.GetPosition())) {
277+
// TODO: show scope menu here
266278
}
267279
}
268280

269-
void clEditorBar::OnLeftUp(wxMouseEvent& e)
270-
{
271-
m_state = eButtonState::kNormal;
272-
Refresh();
273-
}
281+
void clEditorBar::DoRefresh() { Refresh(); }
274282

275-
void clEditorBar::OnEnterWindow(wxMouseEvent& e)
283+
void clEditorBar::OnIdle(wxIdleEvent& e)
276284
{
277-
m_state = eButtonState::kHover;
278-
Refresh();
279-
}
280-
281-
void clEditorBar::OnLeaveWindow(wxMouseEvent& e)
282-
{
283-
m_state = eButtonState::kNormal;
284-
Refresh();
285+
e.Skip();
286+
wxPoint pos = ScreenToClient(::wxGetMousePosition());
287+
if(GetClientRect().Contains(pos)) {
288+
m_state = m_bookmarksButtonState = m_scopeButtonState = eButtonState::kNormal;
289+
if(m_filenameRect.Contains(pos)) {
290+
m_state = eButtonState::kHover;
291+
} else if(m_bookmarksRect.Contains(pos)) {
292+
m_bookmarksButtonState = eButtonState::kHover;
293+
} else if(m_scopeRect.Contains(pos)) {
294+
m_scopeButtonState = eButtonState::kHover;
295+
}
296+
CallAfter(&clEditorBar::DoRefresh);
297+
}
285298
}

Plugin/clEditorBar.h

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#ifndef CLEDITORBAR_H
22
#define CLEDITORBAR_H
3-
#include "drawingutils.h"
3+
44
#include "wxcrafter_plugin.h"
5+
#include "drawingutils.h"
56
#include <wx/colour.h>
67
#include <wx/font.h>
78

@@ -14,7 +15,9 @@ class WXDLLIMPEXP_SDK clEditorBar : public clEditorBarBase
1415
wxColour m_defaultColour;
1516
wxColour m_bgColour;
1617
wxFont m_textFont;
17-
18+
wxRect m_scopeRect;
19+
eButtonState m_scopeButtonState;
20+
1821
// Breadcrumbs
1922
wxString m_filename;
2023
wxString m_filenameRelative;
@@ -25,15 +28,21 @@ class WXDLLIMPEXP_SDK clEditorBar : public clEditorBarBase
2528
wxRect m_filenameRect;
2629
eButtonState m_state;
2730

31+
// Bookmarks button
32+
wxBitmap m_bookmarksBmp;
33+
wxRect m_bookmarksRect;
34+
eButtonState m_bookmarksButtonState;
35+
2836
private:
2937
void DoRefreshColoursAndFonts();
38+
void DoRefresh();
3039

3140
public:
3241
clEditorBar(wxWindow* parent);
3342
virtual ~clEditorBar();
3443
void SetMessage(const wxString& className, const wxString& function);
3544
void DoShow(bool s);
36-
45+
3746
protected:
3847
virtual void OnEditorSize(wxSizeEvent& e);
3948
virtual void OnEraseBG(wxEraseEvent& e);
@@ -42,7 +51,6 @@ class WXDLLIMPEXP_SDK clEditorBar : public clEditorBarBase
4251
void OnLeftDown(wxMouseEvent& e);
4352
void OnLeftUp(wxMouseEvent& e);
4453
void OnThemeChanged(wxCommandEvent& e);
45-
void OnEnterWindow(wxMouseEvent& e);
46-
void OnLeaveWindow(wxMouseEvent& e);
54+
void OnIdle(wxIdleEvent& e);
4755
};
4856
#endif // CLEDITORBAR_H

0 commit comments

Comments
 (0)