History log of /haiku/src/apps/debugger/user_interface/gui/team_window/TeamWindow.h
Revision Date Author Comments
# 5ef06496 02-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Debugger: Add a "Write core file" menu item alongside "Save debug report".


# 456342ca 24-Sep-2017 Rene Gollent <rene@gollent.com>

Debugger: Reimplement #10671.

- Rather than the previous (reverted) approach of tracking the last selected
stack frame from within the StackTraceView, we now do so from the TeamWindow,
where the selection can be mapped by thread. This fixes a subtle issue where,
due to a lack of contextual information, the stack trace view would restore
the remembered last selected frame rather than an explicitly chosen one. This
was most noticeable upon selecting a function that had a corresponding stack
frame in the current stack trace, where, instead of selecting that frame,
the existing one would remain highlighted, even though the state of all other
views had updated. Found while investigating the cause of #13710.


# d6a334fa 02-Aug-2015 Rene Gollent <rene@gollent.com>

Debugger: Adjust TeamWindow to use ExpressionEvaluationWindow.
- Requesting expression evaluation from the top level menu now
invokes an expression eval window, rather than the past prompt.

ExpressionPromptWindow:
- Simplify, as it's now strictly used to add persistent expressions.


# 0324fc40 14-Aug-2015 Rene Gollent <rene@gollent.com>

Debugger: Add status bar to main team window.

TeamWindow:
- Add a status bar in the form of a string view to the bottom of the
window, along with a helper function to request updating it.


# 10bbf8cb 26-Jul-2015 Rene Gollent <rene@gollent.com>

Debugger: TeamWindow refactor.

- When asked to load settings, post a message and do so in the window's
message loop. This avoids a lock order reversal when asked to do so
later as a result of exec() changing the target image out.


# 754b42a5 25-Jul-2015 Rene Gollent <rene@gollent.com>

Debugger: Add rename event for Team.

Team:
- Add listener hook and event type for rename events. These occur on exec()
since at this point we're running a different executable.

TeamWindow:
- Factor out code for generating window title into a helper, and use from both
window initialization and newly implemented rename listener hook.


# 473b2c6a 23-Jul-2015 Rene Gollent <rene@gollent.com>

Debugger: Add VariablesView listener hook.

VariablesView::Listener:
- Add hook for requesting value node value updates.

TeamWindow:
- Implement VariablesView listener hook and forward accordingly to
TeamDebugger.


# c3c2ab31 27-Jun-2015 Rene Gollent <rene@gollent.com>

Debugger: Code reorganization, no functional change.

- Rename BreakConditionConfigWindow to TeamSettingsWindow,
and move to own dedicated subfolder. Adjust callers accordingly.
Preparation work for other changes to come.


# 9dcef048 15-Dec-2014 Rene Gollent <rene@gollent.com>

Debugger: Cleanups.

Get rid of ExpressionEvaluationWindow.

- When asking to evaluate an expression via the Tools menu, we now
bring up a prompt window the same as the one used to add a watch
expression. This in turn works exactly the same as the latter,
except an additional flag is sent indicating that the expression
in question should not be persisted. As such, the results are
shown in the variables view, with all the capabilities that allows,
but also without the expression following the function as a watch
expression would.


# d1c9ffed 08-Nov-2014 Rene Gollent <rene@gollent.com>

Debugger: Cleanup.

Team:
- Remove expression evaluation event / listener hook. This doesn't
really belong to the Team anyways.

UserInterfaceListener:
- ExpressionEvaluationRequested() now takes an ExpressionInfo object
rather than the individual subcomponents.

ExpressionEvaluationJob:
- Notification of expression evaluation completion is now handled
via the info object's listener interface rather than the Team.

Others:
- Adjust all users of expressions to set themselves up as
ExpressionInfo::Listener subclasses, and consequently add themselves
to the respective info object when requesting evaluation. This
significantly simplifies various things, and also ensures that no
one accidentally gets notified of an expression they didn't actually
ask for, which could occur with the previous Team-based listener
interface. Make all other required adjustments for new interface
usage.

No functional change intended.


# b7e72db3 02-Nov-2014 Rene Gollent <rene@gollent.com>

Debugger: Implement first part of #11387.

VariablesView:
- The view now keeps a mapping of a list of expressions associated
with functions.
- Add actions for adding/removing expressions to variables context menu.
- When setting up to show a new stack frame, also add corresponding expression
nodes and request their evaluation.
- Extend VariablesView::Listener interface to also encompass expression
evaluation requests.
- Don't add context actions for expression nodes.

TeamWindow:
- Implement VariablesView::Listener expression evaluation hook and forward
responses along.


# 11832b28 05-Nov-2014 Rene Gollent <rene@gollent.com>

Debugger: Add expression prompt window handling.

TeamWindow now handles the messages for summoning/dismissing
the expression prompt window.


# 942226c7 30-Oct-2014 Rene Gollent <rene@gollent.com>

Debugger: Add UI for configuring breakpoint conditions.

General:
- Add message codes for requesting breakpoint configuration.

UserInterfaceListener/TeamDebugger:
- Add/implement hooks for requesting breakpoint condition changes.

BreakpointsView:
- Add button to request editing the currently selected breakpoint's
condition.

TeamWindow:
- Handle request to show breakpoint edit window.

BreakpointEditWindow:
- Implement simple radio-based UI for modifying the current breakpoint's
condition.

Still missing: Actually handling/evaluating the breakpoint conditions in
the ThreadHandler when the breakpoint is hit.


# e3581569 26-Oct-2014 Rene Gollent <rene@gollent.com>

Debugger: Hook in expression evaluation window.

- Adjust expression window interface so it can report being closed
to TeamWindow or whoever else invokes it.
- Add a menu item to Tools to request expression evaluation. This
now attempts to get the expression evaluator for the current language,
and subsequently opens the expression evaluation window with it.

With these changes, basic numerical expression evaluation works.
Resolution of variable values and condition operators aren't yet
handled.


# 3eadb2cc 26-Jun-2014 Rene Gollent <rene@gollent.com>

Debugger: Improvements to hrev47421.

- Isolate the filesystem query/result list building into a separate
worker thread in order to prevent blocking the window thread in
case the query winds up being a bit more time consuming. This
doesn't yet handle intelligent prefetching (and associated can of
synchronization worms), but that will come once time permits.
- Also fixes a missing break statement introduced in the aforementioned
commit, though that one shouldn't have caused any actual harm.


# 2661ce46 24-Jun-2014 Rene Gollent <rene@gollent.com>

Debugger: Implement #10970.

- If a source file cannot be found, and the user clicks the item to locate it,
Debugger now attempts to query all volumes for the corresponding filename.
If any are found, they are presented in a menu, along with an option to
locate the file manually as before (since the file may potentially live on
an unindexed volume). If no matches are found via query, we fall through to
the file panel directly as before.


# ef2d649d 05-Jul-2013 Rene Gollent <anevilyak@gmail.com>

ExceptionConfigWindow -> BreakConditionConfigWindow.

Stop on image load removed from BreakpointsView, pending adding it to
BreakConditionConfigWindow with some additional options.


# bd503ae4 05-Jul-2013 Rene Gollent <anevilyak@gmail.com>

Relocate "Stop on image load" option.

Rather than a menu item, it's now a checkbox located in the breakpoints
tab.


# a7376ac1 30-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Fix remaining flickering for #9841.

- Revert hrev45802. However, implement the same essential logic in
the TeamWindow itself, and have it guard the StackTraceView,
VariablesView, and step control buttons. This fixes flickering
in between short steps since it prevents the intermediate clear
from happening unnecessarily.
- Implement appropriate guards for the interim wait state.


# b8b4219f 27-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Implement #9758.

- Add ConsoleOutputView for showing the debugged team's console output.
The view presents checkboxes for controlling whether or not stdout
and/or stderr output is captured and shown, as well as the
ability to clear the current output.


# b1975a59 21-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Implement #9775.

- When possible, SourceView now adds a context menu option to switch
between source and disassembly. If the disassembled code is not yet
available, it is asynchronously requested. Adjusted SourceView::Listener
and implementing subclasses accordingly to make that request feasible.

- Adjust TeamWindow to correctly deal with the possibility of the
function source code being available but not loaded.


# 944297b8 13-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Add hooks for actually showing/managing exception config window.


# 6b308faf 19-May-2013 Rene Gollent <anevilyak@gmail.com>

Implement #9777.

- Introduce class BreakpointProxy which acts as a container for
either a breakpoint or a watchpoint. BreakpointsTableModel now stores
a single list of these rather than separate Breakpoint/Watchpoint lists.
- Switch BreakpointListView to allow multiple selection mode, and
consequently change selection/listener interfaces to use a list of
BreakpointProxy objects. Adjust implementors accordingly.
- Rework breakpoint list columns to better mesh with a unified display
of breakpoint and watchpoint information.
- Add an input filter to handle removing breakpoints when the delete
key is pressed.


# 42d73aba 11-May-2013 Rene Gollent <anevilyak@gmail.com>

Add "Run to cursor" context action.

- UserInterfaceListener/TeamDebugger: Extend ThreadActionRequested()
to allow passing a target address. Adjust TeamDebugger's
implementation accordingly.

- ThreadHandler: The MSG_THREAD_RUN action can now optionally take an
address parameter to run until. If this is specified, set a temporary
breakpoint for said address before resuming execution.

- SourceView: On right click, present a context menu showing possible
actions for the current line if we're currently in a stopped thread.
For the moment, this only yields the "Run to cursor" action, but
more will be added in the future.


# a540b985 23-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Notify user in GUI when debug report has been written.


# ba71ae75 21-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Prompt user for location to save report to.


# 12c53499 07-Nov-2012 Rene Gollent <anevilyak@gmail.com>

More UI support for watchpointgs.

- BreakpointTableModel now encapsulates both breakpoints and watchpoints.
- Extended BreakpointView and TeamWindow to handle enable/disable/removing
watchpoints as well.


# f4b1ddb5 23-Jul-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

Debugger: Coding style: normalize naming, some whitespace fixes

* TeamUISettings[Factory] -> TeamUiSettings[Factory]
* GUITeamUISettings -> GuiTeamUiSettings
* GUISettingsUtils -> GuiSettingsUtils


# c2d1fc4f 27-May-2012 Rene Gollent <anevilyak@gmail.com>

Fix updating of source path.

Factor out updating of the source path view into a dedicated function,
and fix some errors that would sometimes result in the text not updating
properly when switching stack frames, particularly if the target frame
didn't have source code available.


# 0c07f01e 18-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Modify TeamWindow to use factored out archiving functions.


# 72d14046 13-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Remember the last source location path chosen by the user.

- When the user chooses the location of a source file via the file panel,
we now preserve the file panel so it can remember its previous location
when invoked again.

Resolves the other part of #8095.


# 787740e0 03-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Save and restore the inspector window's frame + mode settings.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43155 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c1f96856 02-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Cleanup, no functional change.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43137 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6877edf8 02-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Also save/restore the image and thread splitters.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43135 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ce90d2d1 02-Nov-2011 Rene Gollent <anevilyak@gmail.com>

We now save and restore the main splits of the team window. The tab split
will be joining them shortly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43134 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04f0e3d3 02-Nov-2011 Rene Gollent <anevilyak@gmail.com>

* Simplify GUITeamUISettings to just use variants mapped by string keys. The
Setting classes didn't wind up being quite as useful for that purpose as
I'd originally hoped, so they remain with their primary purpose of
programmatically generating menus and such.

* When GraphicalUserInterface constructs the team window, immediately start
the message loop. This allows us to reorder startup so we only activate
the user interface after having restored settings.

* TeamWindow now saves/restores its frame on a per-team basis.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43131 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 689f750f 12-Jun-2011 Rene Gollent <anevilyak@gmail.com>

Actually create the memory block manager in TeamDebugger, and add a menu item
allowing one to bring up the inspector. This gets us as far as successfully
retrieving memory data from the target team and passing it on to any listeners.
Right now there's not much to see though, as the memory view to visualize the
data is not yet implemented.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42143 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5a13e7b0 03-Nov-2010 Rene Gollent <anevilyak@gmail.com>

Add a means for the user to locate source files if they are not found
at the location specified in the debug info.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39289 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59ea286f 05-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* EnumerationValue -> EnumeratorValue
* Since some types don't have names (e.g. pointer types or anonymous structs or
unions), each type does now also have a unique ID. The global type cache
registers types by ID and by name (if they have one). This fixes clashes of
types with empty names.
* Completely refactored the code dealing with variable values. Formerly we had
Variable and TypeComponentPath to navigate to a component, mapped to a
BVariant representing the value. Now we have:
* Interface Value with various subclasses (BoolValue, IntegerValue, etc.) to
represent a value, with the flexibility for more esoteric values.
* A tree of ValueNode+ValueNodeChild objects to represent the components of a
variable. On top of each ValueNodeChild sits a ValueNode representing the
value of the component, potentially having ValueNodeChild children. This
should allow casting a component value, simply by replacing its ValueNode.
* Interface ValueHandler and various implementations for the different value
types. It is basically a factory for classes allowing to format/display a
value.
* ValueHandlerRoster -- a registry for ValueHandlers, finding the best one
for a given value.
* Interface TypeHandler and various implementions for the different type
kinds (primitive, compound, address, etc.). It is basically a factory for
ValueNodes for that type.
* TypeHandlerRoster -- a registry for TypeHandlers, finding the best one
for a given type.

That's still a bit work in progress. It introduces at least one regression:
The VariablesView doesn't save/restore its state anymore. Will take a while
until that is added back.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33907 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e3a631c0 15-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced interface UserInterface, which abstracts the user interface code.
* Added implementation GraphicalUserInterface for the current GUI.

TeamDebugger does no longer know about TeamWindow.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33594 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0324fc408c217619b188747ab635be946d0d1247 14-Aug-2015 Rene Gollent <rene@gollent.com>

Debugger: Add status bar to main team window.

TeamWindow:
- Add a status bar in the form of a string view to the bottom of the
window, along with a helper function to request updating it.


# 10bbf8cb8d8bc8eb9e63e87be8dd21f9b73c7937 26-Jul-2015 Rene Gollent <rene@gollent.com>

Debugger: TeamWindow refactor.

- When asked to load settings, post a message and do so in the window's
message loop. This avoids a lock order reversal when asked to do so
later as a result of exec() changing the target image out.


# 754b42a5a19e0f183356ebf5efab39529f7fcbb0 25-Jul-2015 Rene Gollent <rene@gollent.com>

Debugger: Add rename event for Team.

Team:
- Add listener hook and event type for rename events. These occur on exec()
since at this point we're running a different executable.

TeamWindow:
- Factor out code for generating window title into a helper, and use from both
window initialization and newly implemented rename listener hook.


# 473b2c6ac95c71ec791949fe7dab01668d62fe44 23-Jul-2015 Rene Gollent <rene@gollent.com>

Debugger: Add VariablesView listener hook.

VariablesView::Listener:
- Add hook for requesting value node value updates.

TeamWindow:
- Implement VariablesView listener hook and forward accordingly to
TeamDebugger.


# c3c2ab316943a85f189415961734382c71e24f23 27-Jun-2015 Rene Gollent <rene@gollent.com>

Debugger: Code reorganization, no functional change.

- Rename BreakConditionConfigWindow to TeamSettingsWindow,
and move to own dedicated subfolder. Adjust callers accordingly.
Preparation work for other changes to come.


# 9dcef0489e544e13fc8ce4b92923ebe48b66f861 15-Dec-2014 Rene Gollent <rene@gollent.com>

Debugger: Cleanups.

Get rid of ExpressionEvaluationWindow.

- When asking to evaluate an expression via the Tools menu, we now
bring up a prompt window the same as the one used to add a watch
expression. This in turn works exactly the same as the latter,
except an additional flag is sent indicating that the expression
in question should not be persisted. As such, the results are
shown in the variables view, with all the capabilities that allows,
but also without the expression following the function as a watch
expression would.


# d1c9ffed344208f126f1b8fd446347556c03e976 08-Nov-2014 Rene Gollent <rene@gollent.com>

Debugger: Cleanup.

Team:
- Remove expression evaluation event / listener hook. This doesn't
really belong to the Team anyways.

UserInterfaceListener:
- ExpressionEvaluationRequested() now takes an ExpressionInfo object
rather than the individual subcomponents.

ExpressionEvaluationJob:
- Notification of expression evaluation completion is now handled
via the info object's listener interface rather than the Team.

Others:
- Adjust all users of expressions to set themselves up as
ExpressionInfo::Listener subclasses, and consequently add themselves
to the respective info object when requesting evaluation. This
significantly simplifies various things, and also ensures that no
one accidentally gets notified of an expression they didn't actually
ask for, which could occur with the previous Team-based listener
interface. Make all other required adjustments for new interface
usage.

No functional change intended.


# b7e72db3cc4ff5bb929a83cdf8a47fbd347615ed 02-Nov-2014 Rene Gollent <rene@gollent.com>

Debugger: Implement first part of #11387.

VariablesView:
- The view now keeps a mapping of a list of expressions associated
with functions.
- Add actions for adding/removing expressions to variables context menu.
- When setting up to show a new stack frame, also add corresponding expression
nodes and request their evaluation.
- Extend VariablesView::Listener interface to also encompass expression
evaluation requests.
- Don't add context actions for expression nodes.

TeamWindow:
- Implement VariablesView::Listener expression evaluation hook and forward
responses along.


# 11832b28af25aef0bd53510cdc81f41efd88b88a 05-Nov-2014 Rene Gollent <rene@gollent.com>

Debugger: Add expression prompt window handling.

TeamWindow now handles the messages for summoning/dismissing
the expression prompt window.


# 942226c711ca32e4c9b18e7c1e3a76fd546b3082 30-Oct-2014 Rene Gollent <rene@gollent.com>

Debugger: Add UI for configuring breakpoint conditions.

General:
- Add message codes for requesting breakpoint configuration.

UserInterfaceListener/TeamDebugger:
- Add/implement hooks for requesting breakpoint condition changes.

BreakpointsView:
- Add button to request editing the currently selected breakpoint's
condition.

TeamWindow:
- Handle request to show breakpoint edit window.

BreakpointEditWindow:
- Implement simple radio-based UI for modifying the current breakpoint's
condition.

Still missing: Actually handling/evaluating the breakpoint conditions in
the ThreadHandler when the breakpoint is hit.


# e3581569c7fc447ee4dafece19dadb2d6e484406 26-Oct-2014 Rene Gollent <rene@gollent.com>

Debugger: Hook in expression evaluation window.

- Adjust expression window interface so it can report being closed
to TeamWindow or whoever else invokes it.
- Add a menu item to Tools to request expression evaluation. This
now attempts to get the expression evaluator for the current language,
and subsequently opens the expression evaluation window with it.

With these changes, basic numerical expression evaluation works.
Resolution of variable values and condition operators aren't yet
handled.


# 3eadb2cc1d8b5b797574924ba0046dc223bfa40e 26-Jun-2014 Rene Gollent <rene@gollent.com>

Debugger: Improvements to hrev47421.

- Isolate the filesystem query/result list building into a separate
worker thread in order to prevent blocking the window thread in
case the query winds up being a bit more time consuming. This
doesn't yet handle intelligent prefetching (and associated can of
synchronization worms), but that will come once time permits.
- Also fixes a missing break statement introduced in the aforementioned
commit, though that one shouldn't have caused any actual harm.


# 2661ce4605a59cb594f0c6afbcde427369dceedc 24-Jun-2014 Rene Gollent <rene@gollent.com>

Debugger: Implement #10970.

- If a source file cannot be found, and the user clicks the item to locate it,
Debugger now attempts to query all volumes for the corresponding filename.
If any are found, they are presented in a menu, along with an option to
locate the file manually as before (since the file may potentially live on
an unindexed volume). If no matches are found via query, we fall through to
the file panel directly as before.


# ef2d649d76723c303957b2d5da5abde668753741 05-Jul-2013 Rene Gollent <anevilyak@gmail.com>

ExceptionConfigWindow -> BreakConditionConfigWindow.

Stop on image load removed from BreakpointsView, pending adding it to
BreakConditionConfigWindow with some additional options.


# bd503ae4cf645a6b2395c848489cf4f39b6b5025 05-Jul-2013 Rene Gollent <anevilyak@gmail.com>

Relocate "Stop on image load" option.

Rather than a menu item, it's now a checkbox located in the breakpoints
tab.


# a7376ac17537ebef664373fada57d5d75ac2e818 30-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Fix remaining flickering for #9841.

- Revert hrev45802. However, implement the same essential logic in
the TeamWindow itself, and have it guard the StackTraceView,
VariablesView, and step control buttons. This fixes flickering
in between short steps since it prevents the intermediate clear
from happening unnecessarily.
- Implement appropriate guards for the interim wait state.


# b8b4219f26ca324dbaca060885173cbb01331447 27-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Implement #9758.

- Add ConsoleOutputView for showing the debugged team's console output.
The view presents checkboxes for controlling whether or not stdout
and/or stderr output is captured and shown, as well as the
ability to clear the current output.


# b1975a590faee9dc91f0a6bc626bc5d84475eb24 21-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Implement #9775.

- When possible, SourceView now adds a context menu option to switch
between source and disassembly. If the disassembled code is not yet
available, it is asynchronously requested. Adjusted SourceView::Listener
and implementing subclasses accordingly to make that request feasible.

- Adjust TeamWindow to correctly deal with the possibility of the
function source code being available but not loaded.


# 944297b82b37e8f24251b7a275db039467d7452e 13-Jun-2013 Rene Gollent <anevilyak@gmail.com>

Add hooks for actually showing/managing exception config window.


# 6b308faf1ec990dd5bee3c870f6d654fd52a914f 19-May-2013 Rene Gollent <anevilyak@gmail.com>

Implement #9777.

- Introduce class BreakpointProxy which acts as a container for
either a breakpoint or a watchpoint. BreakpointsTableModel now stores
a single list of these rather than separate Breakpoint/Watchpoint lists.
- Switch BreakpointListView to allow multiple selection mode, and
consequently change selection/listener interfaces to use a list of
BreakpointProxy objects. Adjust implementors accordingly.
- Rework breakpoint list columns to better mesh with a unified display
of breakpoint and watchpoint information.
- Add an input filter to handle removing breakpoints when the delete
key is pressed.


# 42d73abab96321f93eae63d9ea6db5b844f1e216 11-May-2013 Rene Gollent <anevilyak@gmail.com>

Add "Run to cursor" context action.

- UserInterfaceListener/TeamDebugger: Extend ThreadActionRequested()
to allow passing a target address. Adjust TeamDebugger's
implementation accordingly.

- ThreadHandler: The MSG_THREAD_RUN action can now optionally take an
address parameter to run until. If this is specified, set a temporary
breakpoint for said address before resuming execution.

- SourceView: On right click, present a context menu showing possible
actions for the current line if we're currently in a stopped thread.
For the moment, this only yields the "Run to cursor" action, but
more will be added in the future.


# a540b9852773e048812d75a9e239bd7b5a43a822 23-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Notify user in GUI when debug report has been written.


# ba71ae755234e05c8a3b8563a680ad487e75aa45 21-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Prompt user for location to save report to.


# 12c53499e76d8d0e63a94eb738bbe13f387cb0dd 07-Nov-2012 Rene Gollent <anevilyak@gmail.com>

More UI support for watchpointgs.

- BreakpointTableModel now encapsulates both breakpoints and watchpoints.
- Extended BreakpointView and TeamWindow to handle enable/disable/removing
watchpoints as well.


# f4b1ddb580a6a390c7b11b66c799de95014c2c29 23-Jul-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

Debugger: Coding style: normalize naming, some whitespace fixes

* TeamUISettings[Factory] -> TeamUiSettings[Factory]
* GUITeamUISettings -> GuiTeamUiSettings
* GUISettingsUtils -> GuiSettingsUtils


# c2d1fc4ffa7236283061c6358c31f9067c672ca6 27-May-2012 Rene Gollent <anevilyak@gmail.com>

Fix updating of source path.

Factor out updating of the source path view into a dedicated function,
and fix some errors that would sometimes result in the text not updating
properly when switching stack frames, particularly if the target frame
didn't have source code available.


# 0c07f01eb643854a89794048c0954f1b0921b629 18-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Modify TeamWindow to use factored out archiving functions.


# 72d140460db0cd36f2eb0b540980b5d0ddab6d9b 13-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Remember the last source location path chosen by the user.

- When the user chooses the location of a source file via the file panel,
we now preserve the file panel so it can remember its previous location
when invoked again.

Resolves the other part of #8095.


# 787740e0f9b9fc64b8ecf635e7b667699e5f80ea 03-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Save and restore the inspector window's frame + mode settings.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43155 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c1f96856b70b826914bd9e03d39be6d3cd97f9fa 02-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Cleanup, no functional change.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43137 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6877edf850fb21042686775c2c2c9d64c7c754f8 02-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Also save/restore the image and thread splitters.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43135 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ce90d2d1645b3ec8436bb639f27aaddf3e16f8eb 02-Nov-2011 Rene Gollent <anevilyak@gmail.com>

We now save and restore the main splits of the team window. The tab split
will be joining them shortly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43134 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04f0e3d37b9730b5e2934775a4efeaee73d8cf2e 02-Nov-2011 Rene Gollent <anevilyak@gmail.com>

* Simplify GUITeamUISettings to just use variants mapped by string keys. The
Setting classes didn't wind up being quite as useful for that purpose as
I'd originally hoped, so they remain with their primary purpose of
programmatically generating menus and such.

* When GraphicalUserInterface constructs the team window, immediately start
the message loop. This allows us to reorder startup so we only activate
the user interface after having restored settings.

* TeamWindow now saves/restores its frame on a per-team basis.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43131 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 689f750f2d367f22feca1efec937384b9ec17663 12-Jun-2011 Rene Gollent <anevilyak@gmail.com>

Actually create the memory block manager in TeamDebugger, and add a menu item
allowing one to bring up the inspector. This gets us as far as successfully
retrieving memory data from the target team and passing it on to any listeners.
Right now there's not much to see though, as the memory view to visualize the
data is not yet implemented.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42143 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5a13e7b045910ee62ae40256dff1d2c06a4bbf77 03-Nov-2010 Rene Gollent <anevilyak@gmail.com>

Add a means for the user to locate source files if they are not found
at the location specified in the debug info.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39289 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59ea286fac914a808edc6989becc77dadff10383 05-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* EnumerationValue -> EnumeratorValue
* Since some types don't have names (e.g. pointer types or anonymous structs or
unions), each type does now also have a unique ID. The global type cache
registers types by ID and by name (if they have one). This fixes clashes of
types with empty names.
* Completely refactored the code dealing with variable values. Formerly we had
Variable and TypeComponentPath to navigate to a component, mapped to a
BVariant representing the value. Now we have:
* Interface Value with various subclasses (BoolValue, IntegerValue, etc.) to
represent a value, with the flexibility for more esoteric values.
* A tree of ValueNode+ValueNodeChild objects to represent the components of a
variable. On top of each ValueNodeChild sits a ValueNode representing the
value of the component, potentially having ValueNodeChild children. This
should allow casting a component value, simply by replacing its ValueNode.
* Interface ValueHandler and various implementations for the different value
types. It is basically a factory for classes allowing to format/display a
value.
* ValueHandlerRoster -- a registry for ValueHandlers, finding the best one
for a given value.
* Interface TypeHandler and various implementions for the different type
kinds (primitive, compound, address, etc.). It is basically a factory for
ValueNodes for that type.
* TypeHandlerRoster -- a registry for TypeHandlers, finding the best one
for a given type.

That's still a bit work in progress. It introduces at least one regression:
The VariablesView doesn't save/restore its state anymore. Will take a while
until that is added back.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33907 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e3a631c0b48d904a9502dabb157639539484da53 15-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced interface UserInterface, which abstracts the user interface code.
* Added implementation GraphicalUserInterface for the current GUI.

TeamDebugger does no longer know about TeamWindow.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33594 a95241bf-73f2-0310-859d-f6bbb57e9c96