[Piklab-svn] SF.net SVN: piklab:[2935] trunk/piklab_kde4/src
IDE for PIC microcontrollers
Brought to you by:
azhyd
|
From: <az...@us...> - 2012-07-15 19:03:51
|
Revision: 2935
http://piklab.svn.sourceforge.net/piklab/?rev=2935&view=rev
Author: azhyd
Date: 2012-07-15 19:03:44 +0000 (Sun, 15 Jul 2012)
Log Message:
-----------
more work on breapoints GUI
Modified Paths:
--------------
trunk/piklab_kde4/src/data/app_data/katepartui.rc
trunk/piklab_kde4/src/data/app_data/piklabui.rc
trunk/piklab_kde4/src/libgui/breakpoint_view.cpp
trunk/piklab_kde4/src/libgui/gui_debug_manager.cpp
trunk/piklab_kde4/src/libgui/gui_debug_manager.h
Modified: trunk/piklab_kde4/src/data/app_data/katepartui.rc
===================================================================
--- trunk/piklab_kde4/src/data/app_data/katepartui.rc 2012-07-15 00:36:58 UTC (rev 2934)
+++ trunk/piklab_kde4/src/data/app_data/katepartui.rc 2012-07-15 19:03:44 UTC (rev 2935)
@@ -110,6 +110,7 @@
<Separator />
<Action name="editor_toggle_breakpoint" />
<Action name="editor_enable_breakpoint" />
+ <Action name="editor_clear_breakpoints" />
</Menu>
</MenuBar>
Modified: trunk/piklab_kde4/src/data/app_data/piklabui.rc
===================================================================
--- trunk/piklab_kde4/src/data/app_data/piklabui.rc 2012-07-15 00:36:58 UTC (rev 2934)
+++ trunk/piklab_kde4/src/data/app_data/piklabui.rc 2012-07-15 19:03:44 UTC (rev 2935)
@@ -198,9 +198,9 @@
</Menu>
<Menu name="breakpoint_context_menu">
- <Action name="enable_breakpoint" />
- <Action name="toggle_breakpoint" />
- <Action name="clear_breakpoints" />
+ <Action name="editor_enable_breakpoint" />
+ <Action name="editor_toggle_breakpoint" />
+ <Action name="editor_clear_breakpoints" />
</Menu>
</kpartgui>
Modified: trunk/piklab_kde4/src/libgui/breakpoint_view.cpp
===================================================================
--- trunk/piklab_kde4/src/libgui/breakpoint_view.cpp 2012-07-15 00:36:58 UTC (rev 2934)
+++ trunk/piklab_kde4/src/libgui/breakpoint_view.cpp 2012-07-15 19:03:44 UTC (rev 2935)
@@ -31,8 +31,10 @@
SLOT(contextMenu(Q3ListViewItem *, const QPoint &, int)));
_listview->setAllColumnsShowFocus(true);
_listview->addColumn(i18n("Status"));
- _listview->addColumn(i18n("Location"));
+ _listview->addColumn(i18n("File"));
+ _listview->addColumn(i18n("Line"));
_listview->addColumn(i18n("Address"));
+ _listview->setSorting(2);
top->addWidget(_listview);
}
@@ -44,11 +46,12 @@
const Data &data = Breakpoint::list().data(i);
KListViewItem *item = new ListViewItem(_listview, data);
item->setPixmap(0, TextEditor::pixmap(Debugger::manager->breakpointType(data)));
- item->setText(1, data.url.filename() + ":" + QString::number(data.line));
+ item->setText(1, data.url.filename());
+ item->setText(2, QString::number(data.line));
Address address = Breakpoint::list().address(data);
- if ( address.isValid() ) item->setText(2, toHexLabelAbs(address));
- else if ( Debugger::manager->coff() ) item->setText(2, i18n("Non-code breakpoint"));
- else item->setText(2, "---");
+ if ( address.isValid() ) item->setText(3, toHexLabelAbs(address));
+ else if ( Debugger::manager->coff() ) item->setText(3, i18n("Non-code breakpoint"));
+ else item->setText(3, "---");
}
}
@@ -74,8 +77,16 @@
void Breakpoint::View::contextMenu(Q3ListViewItem *item, const QPoint &pos, int)
{
_currentData = (item != NULL ? &static_cast<ListViewItem *>(item)->data() : NULL);
- //updateActions(_currentData);
- QMenu* popup = Main::popup("breakpoint_context_menu");
- if (popup != NULL) popup->exec(pos);
+ PopupMenu pop;
+ pop.addTitle(i18n("Breakpoints"));
+ QAction* a = pop.addAction(i18n("Remove breakpoint"), Debugger::manager, SLOT(toggleBreakpoint()));
+ a->setEnabled(_currentData != NULL);
+ const bool isActive = (_currentData != NULL ? Breakpoint::list().state(*_currentData)==Breakpoint::Active : false);
+ a = pop.addAction(!isActive ? i18n("Enable breakpoint") : i18n("Disable breakpoint"), Debugger::manager, SLOT(toggleEnableBreakpoint()));
+ const Coff::TextObject *coff = Debugger::manager->coff();
+ a->setEnabled(_currentData != NULL && coff != NULL);
+ a = pop.addAction(KIcon("edit-delete"), i18n("Clear"), Debugger::manager, SLOT(clearBreakpoints()));
+ a->setEnabled(Breakpoint::list().count() > 0);
+ pop.exec(pos);
_currentData = NULL;
}
Modified: trunk/piklab_kde4/src/libgui/gui_debug_manager.cpp
===================================================================
--- trunk/piklab_kde4/src/libgui/gui_debug_manager.cpp 2012-07-15 00:36:58 UTC (rev 2934)
+++ trunk/piklab_kde4/src/libgui/gui_debug_manager.cpp 2012-07-15 19:03:44 UTC (rev 2935)
@@ -139,6 +139,13 @@
if (editor != NULL) editor->statusChanged();
}
+void Debugger::GuiManager::clearBreakpoints()
+{
+ Breakpoint::list().clear();
+ Editor* editor = Main::currentEditor();
+ if (editor != NULL) editor->statusChanged();
+}
+
void Debugger::GuiManager::updateEditorMarks(TextEditor &editor) const
{
editor.clearBreakpointMarks();
Modified: trunk/piklab_kde4/src/libgui/gui_debug_manager.h
===================================================================
--- trunk/piklab_kde4/src/libgui/gui_debug_manager.h 2012-07-15 00:36:58 UTC (rev 2934)
+++ trunk/piklab_kde4/src/libgui/gui_debug_manager.h 2012-07-15 19:03:44 UTC (rev 2935)
@@ -32,6 +32,7 @@
virtual bool update(bool gotoPC);
void toggleBreakpoint();
void toggleEnableBreakpoint();
+ void clearBreakpoints();
void showPC() { internalUpdateView(true); }
void showDisassemblyLocation();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|