History log of /haiku/src/apps/debuganalyzer/gui/table/Table.cpp
Revision Date Author Comments
# c0936b5a 11-Jan-2018 Rene Gollent <rene@gollent.com>

Debugger: Another set of #13800 fixes.

AbstractTable/Table/TreeTable:
- Let BColumnListView take care of deleting columns. The previous
approach was resulting in the columns being leaked.

Debugger:
- Don't detach the UI reference, as TeamDebugger will acquire its own.

GraphicalUserInterface:
- Cleanup of file panel handler.

SourceView:
- Clean up marker manager.

*Roster:
- Clean up registered objects in destructors.

GlobalTypeLookup:
- Clean up hash tables.

NetworkTargetHostInterfaceInfo:
- Fix reference handling for settings.


# df459da6 15-Jul-2015 Rene Gollent <rene@gollent.com>

{Tree,Table}: Add cell rect accessor.

BColumnListView:
- Add helper method for getting the visible rect of a given field.
Refactor SuggestTextPosition to use it.

{Tree,Table}:
- Add wrapper to retrieve table cell rect using the aforementioned
BCLV helper.


# 4dff0268 24-Jun-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

Revert "debuganalyzer: Fix double free. CID 992566"

This reverts commit ea27e95f489fbb29cedad74788ee607b331f8a2f.

* AnEvilYak pointed out that this was a false positive as
BObjectList can optionally delete on remove.
* I'll add a penny to the bitcoin bad commit jar :)


# ea27e95f 24-Jun-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

debuganalyzer: Fix double free. CID 992566

* RemoveRow frees row, thus the delete isn't
needed.


# 1d897b8a 15-May-2013 Rene Gollent <anevilyak@gmail.com>

Remove NotifyNodesCleared() again.

- For various reasons this one can be error prone, since it relies on
the model being able to provide the correct row count, which won't be
the case if the subclass calls it after having already removed all its
nodes.

- Optimize Table's RowsRemoved() similarly to TreeTable's for the remove
all rows case.


# 6132f7b9 15-May-2013 Rene Gollent <anevilyak@gmail.com>

Extend Table/TreeTable's interface.

- Add NotifyNodesCleared() hook to table model as a shortcut for
removing all rows.

- TreeTable::_RemoveChildRows() now recognizes the special case of the
above and optimizes it by calling BColumnListView::Clear() rather than
removing each row individually.

- Add TableModelReset()/NotifyTableModelReset(). This notification is
used to tell the underlying table that a full rebuild is needed due to
the model changing completely.


# cee04e80 08-Feb-2010 Artur Wyszynski <aljen-mlists@o2.pl>

Fixed various errors/warnings reported by cppcheck:
* memory leaks
* resource leaks
* added const's to getters
* removed a few reundant conditions


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


# 6309d64e 05-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for mouse down/up events in [Tree]TableListener.


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


# acb006cb 14-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added TableToolTipProvider interface that can be set on a Table to easily
provide per cell tool tips.


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


# 42d7d768 12-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed unintentionally introduced code. Spotted by Stippi.


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


# a7fb35d9 11-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

When rows are added to/removed from the model, we need to adjust the row
indices we store in the fields of subsequent BRows. Fixes the broken threads
list in Debugger (should be some ticket -- can't access Trac ATM).


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


# e50cd9e5 21-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Table::DeselectAllRows().


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


# b7c5bd63 19-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed Variant to BVariant and moved it to libshared.a.


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


# b31acfda 19-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Use a BObjectList instead of a DoublyLinkedList for the TableModelListeners.
Otherwise we can't add a listener to more than one model.


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


# 028b98e7 19-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added missing TableRowsChanged() to TableModelListener and made Table
handle it, too.


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


# 6d9fec81 17-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added selection support to Table.


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


# 8c2d467e 17-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed AbstractTableModel to AbstractTableModelBase.
* Added listener support to TableModel.
* Table does now listen to the model and adds/removes rows accordingly.


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


# b8b22908 09-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled common base class AbstractTable out of Table and TreeTable.


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


# dba899da 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed Table::Column::SetTableModel() to SetModel().
* Table::ItemInvoked(): Small optimization.


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


# e70320a7 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* TableColumn no longer has BColumn as base class. We use another level of
indirection (Table::Column) instead.
* Moved TableColumn to its own header/source files.


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


# 37ea7254 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Reorganized sources.


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


# df459da6ed9a147f1c3fb2ca70429ee20c2d1058 15-Jul-2015 Rene Gollent <rene@gollent.com>

{Tree,Table}: Add cell rect accessor.

BColumnListView:
- Add helper method for getting the visible rect of a given field.
Refactor SuggestTextPosition to use it.

{Tree,Table}:
- Add wrapper to retrieve table cell rect using the aforementioned
BCLV helper.


# 4dff02682c49ce3c55d8c9d8c96f92a84a526ad2 24-Jun-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

Revert "debuganalyzer: Fix double free. CID 992566"

This reverts commit ea27e95f489fbb29cedad74788ee607b331f8a2f.

* AnEvilYak pointed out that this was a false positive as
BObjectList can optionally delete on remove.
* I'll add a penny to the bitcoin bad commit jar :)


# ea27e95f489fbb29cedad74788ee607b331f8a2f 24-Jun-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

debuganalyzer: Fix double free. CID 992566

* RemoveRow frees row, thus the delete isn't
needed.


# 1d897b8a54ff6be1804751a6fc1d48b124475524 15-May-2013 Rene Gollent <anevilyak@gmail.com>

Remove NotifyNodesCleared() again.

- For various reasons this one can be error prone, since it relies on
the model being able to provide the correct row count, which won't be
the case if the subclass calls it after having already removed all its
nodes.

- Optimize Table's RowsRemoved() similarly to TreeTable's for the remove
all rows case.


# 6132f7b96d4165ae8ec6c4ce86d9bc0db7f0d9bc 15-May-2013 Rene Gollent <anevilyak@gmail.com>

Extend Table/TreeTable's interface.

- Add NotifyNodesCleared() hook to table model as a shortcut for
removing all rows.

- TreeTable::_RemoveChildRows() now recognizes the special case of the
above and optimizes it by calling BColumnListView::Clear() rather than
removing each row individually.

- Add TableModelReset()/NotifyTableModelReset(). This notification is
used to tell the underlying table that a full rebuild is needed due to
the model changing completely.


# cee04e8074ec61fd8c6dac3539c5b821c3618888 08-Feb-2010 Artur Wyszynski <aljen-mlists@o2.pl>

Fixed various errors/warnings reported by cppcheck:
* memory leaks
* resource leaks
* added const's to getters
* removed a few reundant conditions


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


# 6309d64e37f51b2b639fb2ef1a2eaf46b335f832 05-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added support for mouse down/up events in [Tree]TableListener.


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


# acb006cb55c925c74e426d74c3b85237ec1f142a 14-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added TableToolTipProvider interface that can be set on a Table to easily
provide per cell tool tips.


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


# 42d7d768ca25fd9fe26346cbdba4ed882017521f 12-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Removed unintentionally introduced code. Spotted by Stippi.


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


# a7fb35d93ddef70d6e5b7953e0482a048d4c72b5 11-Oct-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

When rows are added to/removed from the model, we need to adjust the row
indices we store in the fields of subsequent BRows. Fixes the broken threads
list in Debugger (should be some ticket -- can't access Trac ATM).


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


# e50cd9e51a21e30e1dbd5a999e84a1a702667f07 21-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added Table::DeselectAllRows().


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


# b7c5bd634b64a6f9407eeb5fa15609e582f86c34 19-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Renamed Variant to BVariant and moved it to libshared.a.


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


# b31acfda4b9fd696a78513314a1b87bc0ffae1b3 19-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Use a BObjectList instead of a DoublyLinkedList for the TableModelListeners.
Otherwise we can't add a listener to more than one model.


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


# 028b98e7ff82631e7d74e1d61600e206f46464aa 19-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added missing TableRowsChanged() to TableModelListener and made Table
handle it, too.


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


# 6d9fec816eda32681cd80e893e0e6e9f3413b000 17-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added selection support to Table.


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


# 8c2d467ed7b82746b535e06531ca1d7eb3e76830 17-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed AbstractTableModel to AbstractTableModelBase.
* Added listener support to TableModel.
* Table does now listen to the model and adds/removes rows accordingly.


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


# b8b22908a4f63e3a4f9781aa324aa1876513510c 09-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled common base class AbstractTable out of Table and TreeTable.


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


# dba899da0ca0a105bad62f93ed6c09f02a799fe9 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed Table::Column::SetTableModel() to SetModel().
* Table::ItemInvoked(): Small optimization.


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


# e70320a76986681af1d2e64579fceb995c83c0ce 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* TableColumn no longer has BColumn as base class. We use another level of
indirection (Table::Column) instead.
* Moved TableColumn to its own header/source files.


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


# 37ea725498bdf48e51dfbeb7b8befb3e59f2cb5b 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Reorganized sources.


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