History log of /haiku-fatelf/src/apps/debugger/user_interface/gui/team_window/VariablesView.h
Revision Date Author Comments
# 2a2e3baf 06-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Add UI hooks for watchpoints.

This gets basic watchpoint support working. Right clicking on a variable
and picking Watch now opens a prompt with the inferred address, size
and watch type for the user to adjust.

Still needs some work to get them to show/be modifiable in the breakpoints
tab and to get them to respect architectural restrictions (i.e. on x86 we
can realistically only do 2 hardware watchpoints and those are restricted
to write watch), at least until we support software emulated watchpoints.


# 7b74c566 05-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Cleanup: move expression parsing for types to SourceLanguage.


# 9e7a46be 05-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Extend typecasting to support pointer/address types.

We now parse the user's input to see if it should be a pointer/reference
type and create a derived type accordingly. This allows casting to e.g.
StyledEditApp*.


# 17ef26a9 15-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Add inspection context menu action.

- TableCellContextMenuTracker now supports menus that don't have a settings
submenu, since some variables won't have renderer settings but will still
have context actions.

- Add _GetContextActionsForNode() to retrieve the list of contextual actions
available for a given model node. Currently this is only adds an action
to inspect the memory address of the highlighted value, but will be extended
for other actions later.


# 0712121c 15-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Add support for actions to TableCellContextMenuTracker.

- VariablesView's context menu tracker now optionally accepts contextual
actions to add to the menu in addition to the current renderer settings.


# 11102e38 19-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Reworked GUI settings storage.

- Simplified things so each window simply records all its settings into
a BMessage, which is what ultimately goes into the actual UI settings.

- Added settings storage/retrieval to the various sub views of the
team window. This means that the column widths/positioning on all
views hosting a column list view are now also preserved and restored.


# 5d70f1ae 19-Jun-2011 Rene Gollent <anevilyak@gmail.com>

Get the variable view state more or less usable again. Still needs some more work to
do things like preserve renderer settings and some other details.



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


# 2a2e3bafa2daaf31ff8be2c7b6782529f63774e3 06-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Add UI hooks for watchpoints.

This gets basic watchpoint support working. Right clicking on a variable
and picking Watch now opens a prompt with the inferred address, size
and watch type for the user to adjust.

Still needs some work to get them to show/be modifiable in the breakpoints
tab and to get them to respect architectural restrictions (i.e. on x86 we
can realistically only do 2 hardware watchpoints and those are restricted
to write watch), at least until we support software emulated watchpoints.


# 7b74c56650d6e8320b3b0de1fea0a13d0359a312 05-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Cleanup: move expression parsing for types to SourceLanguage.


# 9e7a46be2010116155a07fb4b5aa6b627eeb7be2 05-Nov-2012 Rene Gollent <anevilyak@gmail.com>

Extend typecasting to support pointer/address types.

We now parse the user's input to see if it should be a pointer/reference
type and create a derived type accordingly. This allows casting to e.g.
StyledEditApp*.


# 17ef26a9f8319415aa24e54aae6cfdbea1624071 15-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Add inspection context menu action.

- TableCellContextMenuTracker now supports menus that don't have a settings
submenu, since some variables won't have renderer settings but will still
have context actions.

- Add _GetContextActionsForNode() to retrieve the list of contextual actions
available for a given model node. Currently this is only adds an action
to inspect the memory address of the highlighted value, but will be extended
for other actions later.


# 0712121cdb6b4dfe51d183615944a0f116447d1d 15-Jul-2012 Rene Gollent <anevilyak@gmail.com>

Add support for actions to TableCellContextMenuTracker.

- VariablesView's context menu tracker now optionally accepts contextual
actions to add to the menu in addition to the current renderer settings.


# 11102e3848bcd78ce9a90478ad6992f966fae5c6 19-Nov-2011 Rene Gollent <anevilyak@gmail.com>

Reworked GUI settings storage.

- Simplified things so each window simply records all its settings into
a BMessage, which is what ultimately goes into the actual UI settings.

- Added settings storage/retrieval to the various sub views of the
team window. This means that the column widths/positioning on all
views hosting a column list view are now also preserved and restored.


# 5d70f1ae3e3488258e8982c4c45cff620891364c 19-Jun-2011 Rene Gollent <anevilyak@gmail.com>

Get the variable view state more or less usable again. Still needs some more work to
do things like preserve renderer settings and some other details.



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