+ ///Called upon to return the visible attributes of the current tab
+ void GetVisibleAttributes(std::vector<std::string>& shown,std::vector<std::string>& nShown, int level);
+
+ ///Called when there has been a change in the visible attributes of a tree view
+ void OnAttributesChanged(const std::vector<std::string>& nShown, int level);
+
+ protected:
+ /// Creates the tool bar
+ void CreateToolBar();
+
+ /// Create the tree view for TreeHandler provided
+ /// (overloaded from GimmickView)
+ void CreateTreeView( TreeHandler* );
+
+
+ private:
+ /// Is set to true at the end of constructor
+ /// (in order to lock callbacks from threaded objects or event
+ /// before everything is ok)
+ bool mConstructed;
+ /// The ToolBar and the tools
+ wxToolBar* mToolBar;
+ wxToolBarToolBase* mToolAddFile;
+ wxToolBarToolBase* mToolAddDir;
+ wxToolBarToolBase* mToolRemove;
+ wxToolBarToolBase* mToolAddDatabase;
+ wxToolBarToolBase* mToolHelp;
+ wxToolBarToolBase* mToolSynchronize;
+ wxToolBarToolBase* mToolSettings;
+ wxToolBarToolBase* mToolTools;
+
+ wxSplitterWindow* mSplitter;
+ wxPanel* mBottomPanel;
+ wxStaticText * mText;
+ wxNotebook* mNotebook;
+
+ /// The list of icons
+ wxImageList * mIcon;
+ void CreateIconList();
+
+ Gimmick * mGimmick;
+
+ Listener* mListener;
+ /// Callback for adding files
+ void OnAddFiles(wxCommandEvent& event);
+ /// Callback for adding dir
+ void OnAddDir(wxCommandEvent& event);
+ /// Callback for removing files
+ void OnRemove(wxCommandEvent& event);
+ /// Callback for synchronization
+ void OnSynchronize(wxCommandEvent& event);
+ /// Callback for settings edition
+ void OnSettings(wxCommandEvent& event);
+ /// Callback for settings edition
+ void OnTools(wxCommandEvent& event);
+ ///Creates the settings dialog (the pages inside and the information)
+ void CreateSettingsDialog(wxNotebook* nb, wxDialog* dial);
+
+ /// Display a message box with the last addition statistics
+ void DisplayAddSummary();
+
+ /// Test a directory to know if contains sub-directory to analyze
+ bool isNeedRecursive(std::string i_name);
+
+ /// AddProgress Gimmick callback
+ void OnAddProgress( Gimmick::AddProgress& );
+ /// Called upon to refresh the viewer once there are no actions to be done
+ void OnInternalIdle();
+
+ /// callback to add a database
+ void OnAddDB(wxCommandEvent& event);
+
+ ///Create a DB from an Attributes Descriptor files
+ void OnCreateDB(wxCommandEvent& event);
+
+ ///Edits the fields of a given node
+ void CreateEditFieldsDialog(tree::Node* node, std::vector<std::string> names, std::vector<std::string> keys);
+
+ /// Progress dialog
+ wxProgressDialog* mProgressDialog;
+ ///The selection's maximum dimension
+ int mSelectionMaxDimension;
+ ///The selection's minimum dimension
+ int mSelectionMinDimension;
+ ///Image previewer
+ WxViewer* mViewer;
+ ///Currently Displayed Node
+ tree::Node* mCurImageItemToShow;
+ //Pointer holders for images to be shown
+ std::vector<ImagePointerHolder*> pointers;
+
+
+ wxString mCurrentDirectory;
+
+ DECLARE_EVENT_TABLE()
+ };
+ // EO class WxGimmickView
+ //=====================================================================
+
+