History log of /haiku-fatelf/src/apps/debugger/user_interface/UserInterface.h
Revision Date Author Comments
# 2efebaa1 18-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Tie DebugReportGenerator into TeamDebugger.

- Add UI listener hook. Still needs to be exposed via the actual
UI though.


# 4235cb3e 06-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Start adding the underlying infrastructure for watchpoint support.


# 4d8eaa5b 28-Jul-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

Debugger: UserInterface.h: style cleanup


# eba38eb5 27-Jul-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

Debugger: Change user interface quit and ask user semantics

* UserInterface::SynchronouslyAskUser() is now allowed to return -1 to
indicate that the user cannot be asked at this point for whatever
reason. The caller needs to handle that case.
* UserInterfaceListener::UserInterfaceQuitRequested(): Add new parameter
"quitOption" to specify what is supposed to happen. The previous
behavior (ask user) is only one of the options. The others are to kill
the debugged team or to resume it.


# 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


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

Add hooks to UserInterface to allow for saving/restoring of UI settings.
Make use of them as appopriate.



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


# 348e6deb 13-Jun-2011 Rene Gollent <anevilyak@gmail.com>

* Move expression evaluation to the inspector window.
* Actually start rendering the memory data. Still has some drawing glitches
when scrolling though, will look into those tomorrow. Also doesn't yet
highlight the location which the target address actually points to within
the block.



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


# 3e3ce16f 09-Jun-2011 Rene Gollent <anevilyak@gmail.com>

* Introduce TeamMemoryBlock[Manager]. These provide an interface to raw memory
page data of the target team.
* Jobs: Add RetrieveMemoryBlockJob which performs a background read of the
target team's memory. Used by InspectRequested() to perform the actual work.
* TeamDebugger: Added InspectRequested() hooks to allow clients to ask for
a memory read to be performed.
* Introduce InspectorWindow and MemoryView to form the basis of a memory inspector.
As yet these are more or less stubs and not yet hooked in.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42080 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


# 2efebaa1d1614d772f565650bbe625c5766e312f 18-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Tie DebugReportGenerator into TeamDebugger.

- Add UI listener hook. Still needs to be exposed via the actual
UI though.


# 4235cb3e331c05b73700905462dc7dfab02eda36 06-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Start adding the underlying infrastructure for watchpoint support.


# 4d8eaa5b11b21e3913b6937e298a7370c3e8c4f8 28-Jul-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

Debugger: UserInterface.h: style cleanup


# eba38eb503254ad8fba4466c6b983b76c3510af1 27-Jul-2012 Ingo Weinhold <ingo_weinhold@gmx.de>

Debugger: Change user interface quit and ask user semantics

* UserInterface::SynchronouslyAskUser() is now allowed to return -1 to
indicate that the user cannot be asked at this point for whatever
reason. The caller needs to handle that case.
* UserInterfaceListener::UserInterfaceQuitRequested(): Add new parameter
"quitOption" to specify what is supposed to happen. The previous
behavior (ask user) is only one of the options. The others are to kill
the debugged team or to resume it.


# 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


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

Add hooks to UserInterface to allow for saving/restoring of UI settings.
Make use of them as appopriate.



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


# 348e6deb98ae68c9fbe55de2502fa60f1f9e6f4d 13-Jun-2011 Rene Gollent <anevilyak@gmail.com>

* Move expression evaluation to the inspector window.
* Actually start rendering the memory data. Still has some drawing glitches
when scrolling though, will look into those tomorrow. Also doesn't yet
highlight the location which the target address actually points to within
the block.



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


# 3e3ce16f5ea1cd92ef3d4fdb42a8822bde59d318 09-Jun-2011 Rene Gollent <anevilyak@gmail.com>

* Introduce TeamMemoryBlock[Manager]. These provide an interface to raw memory
page data of the target team.
* Jobs: Add RetrieveMemoryBlockJob which performs a background read of the
target team's memory. Used by InspectRequested() to perform the actual work.
* TeamDebugger: Added InspectRequested() hooks to allow clients to ask for
a memory read to be performed.
* Introduce InspectorWindow and MemoryView to form the basis of a memory inspector.
As yet these are more or less stubs and not yet hooked in.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42080 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