00001
00009 #ifndef _ToolbarTool_h
00010 #define _ToolbarTool_h
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "../CountedPtr.h"
00021
00022 #include "ClickToolAction.h"
00023 #include "ToggleToolAction.h"
00024
00025
00026
00027
00028 class ToolbarTool
00029 {
00030 public:
00031
00033 enum GroupType {
00034 SET_VIEW = 0,
00035 LAYER_SPECIFIC,
00036
00037 GROUP_MAX
00038 };
00039
00040
00041
00044 ToolbarTool(std::auto_ptr<ClickToolAction> apAction,
00045 GroupType group,
00046 const wxBitmap& bitmap,
00047 const wxString& label,
00048 const wxString& tip);
00049
00052 ToolbarTool(std::auto_ptr<ToggleToolAction> apAction,
00053 GroupType group,
00054 const wxBitmap& bitmap,
00055 const wxString& label,
00056 const wxString& tip);
00057
00060 ToolbarTool(const ToolbarTool& from);
00061
00064 ~ToolbarTool(void);
00065
00066
00067
00068
00071 ToolbarTool& operator=(const ToolbarTool& from);
00072
00073
00074
00075
00079 CountedPtr<ClickToolAction> ClickAction() const;
00080
00084 CountedPtr<ToggleToolAction> ToggleAction() const;
00085
00088 const wxBitmap& Bitmap() const;
00089
00092 const wxString& Label() const;
00093
00096 GroupType Group() const;
00097
00100 const wxString& Tip() const;
00101
00104 wxItemKind Type() const;
00105
00106
00107
00108 protected:
00109 private:
00110 wxItemKind mButtonType;
00111
00115 CountedPtr<ClickToolAction> mcpClickAction;
00116
00120 CountedPtr<ToggleToolAction> mcpToggleAction;
00121
00122 GroupType mGroup;
00123
00124 wxBitmap mBitmap;
00125 wxString mLabel;
00126 wxString mTip;
00127 };
00128
00129
00130
00131
00132
00133
00134
00135 #endif // _ToolbarTool_h