Quark  0.1
BasicTableModelMenuAdapter.h++
Go to the documentation of this file.
1 #ifndef __libquark_gui_BasicTableModelMenuAdapter_hxx
2 #define __libquark_gui_BasicTableModelMenuAdapter_hxx
3 
6 
7 namespace quark {
8 namespace gui {
9 
22 template<class T> class BasicTableModelMenuAdapter
24 {
25  public:
26 
35  BasicTableModelMenuAdapter(const AbstractTableModel<T> *model, QMenu *menu,
36  Options options = 0);
37 
40 
46  void setSelectedItem(const T *item);
47 
48  protected:
49 
51  virtual QString getMenuLabelForRow(int row) const;
52  virtual void handleRowSelection(int row);
62  virtual QString getMenuLabelForItem(const T &item) const = 0;
63 
70  virtual void handleItemSelection(const T *item) = 0;
71 
72  private:
73 
74  const AbstractTableModel<T> *_model;
75 };
76 
77 #include <quark/BasicTableModelMenuAdapterImpl.h++>
78 
79 } // namespace gui
80 } // namespace quark
81 
82 #endif // __libquark_gui_BasicTableModelMenuAdapter_hxx
BasicTableModelMenuAdapter(const AbstractTableModel< T > *model, QMenu *menu, Options options=0)
Constructs a new BasicTableModelMenuAdapter for the given model and menu.
A non-parameterized abstract base class for Quark item model menu adapters.
Definition: AbstractItemModelMenuAdapter.h++:26
virtual QString getMenuLabelForItem(const T &item) const =0
Returns the menu item label that should be used for the given item in the model.
virtual void handleItemSelection(const T *item)=0
Called when a checkable menu item has been selected.
Definition: BarChartView.h++:6
virtual ~BasicTableModelMenuAdapter()
Destructor.
void setSelectedItem(const T *item)
Selects the (checkable) menu item corresponding to the given model item.
A model adapter that populates a QMenu with items that correspond to items in an AbstractTableModel.
Definition: BasicTableModelMenuAdapter.h++:22