#ifndef __ORTOOLNote_TOOL_H__
#define __ORTOOLNote_TOOL_H__
#define ORTOOLNOTE__CLASSNAME ORToolNote
#define ORTOOLNOTE__CLASSSTR "ORToolNote"
enum ToolOperations
{
kOpCreateNote = 0,
kOpAttachNote = 1,
kOpDetachNote = 2,
kOpDestroyNote = 3
};
enum SpreadColumn
{
kColKeyText = 0,
kColKeyTime = 1,
kColKeyParents = 2,
kColKeyRemove = 3
};
const char* BUTTON_CAPTIONS[] = { "Create note",
"Attach note to selected",
"Detach note from selected",
"Destroy note" };
class ORToolNote : public FBTool
{
public:
virtual bool FBCreate ();
virtual void FBDestroy ();
private:
void UICreate ();
void UICreateLayoutNote ();
void UICreateLayoutNoteKeys ();
void UICreateLayoutNoteProperties ();
void UIConfigure ();
void UIConfigureLayoutNote ();
void UIConfigureLayoutNoteProperties ();
void UIEnable ();
void UpdatePropertyList ();
void UpdateNoteList ();
void SetCurrentNote ( FBNote* pNote );
void AddNoteToSelected ( FBComponent* pComp );
void DetachNoteFromSelected ( FBComponent* pComp );
private:
FBSystem mSystem;
FBApplication mApplication;
HdlFBPlugTemplate<FBNote> mHdlCurrentNote;
FBTabPanel mTabPanel;
FBLayout mLayoutNote;
FBLabel mLabelNotes;
FBList mListNotes;
FBLabel mLabelDescription;
FBVisualContainer mContainerNote;
FBButton mButtonCreateNote;
FBButton mButtonAttachNote;
FBButton mButtonDetachNote;
FBButton mButtonDestroyNote;
int mNotesCount;
FBLayout mLayoutNoteProperties;
FBButton mButtonAddProperty;
FBButton mButtonRemoveProperty;
FBButton mButtonListKeys;
FBList mListProperties;
};
#endif