/// Concrete derivative of GimmickView which implements a wxWidgets-based view
class WxGimmickView : public wxPanel, virtual public GimmickView
- {
- public:
-
- typedef int EventType;
-
- /// Ctor
- WxGimmickView(Gimmick*,
- wxWindow *parent,
- const wxWindowID id,
- const wxPoint& pos, const wxSize& size,
- int min_dim = GIMMICK_2D_IMAGE_SELECTION,
- int max_dim = GIMMICK_3D_IMAGE_SELECTION,
- int number_of_threads = 0);
- /// Virtual destructor
- virtual ~WxGimmickView();
-
- /// Returns the selected files
- ///(overloaded from GimmickView)
- void GetSelectedFiles(std::vector<std::string>& s);
- /// Returns the selected Images so that they comply with the given parameter(4D)
- //(overloaded from GimmickView)
- void GetSelectedImages(std::vector<vtkImageData*>& s, int dim);
- /// Callback called when a selection from a TreeView has changed
- //(overloaded from GimmickView)
- void OnSelectionChange(std::vector<tree::Node*>& s, bool isSelection, int selection, bool mProcess);
- ///Stops the player
- void StopPlayer(){mViewer->StopPlayer();}
- ///Resets the default image
- void ClearSelection();
-
-
- ///Sends a request to read the currently selected node and the ones that surround it.
- void ReadImageThreaded(std::vector<tree::Node*> sel);
-
-
- 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;
-
- wxSplitterWindow* mSplitter;
- wxPanel* mBottomPanel;
- wxStaticText * mText;
- wxNotebook* mNotebook;
-
- /// The list of icons
- wxImageList * mIcon;
- void CreateIconList();
-
- Gimmick * mGimmick;
- /// Callback for adding files
- void OnAddFiles(wxCommandEvent& event);
- /// Callback for adding dir
- void OnAddDir(wxCommandEvent& event);
- /// Callback for removing files
- void OnRemove(wxCommandEvent& event);
-
- /// Display a message box with the last addition statistics
- void DisplayAddSummary();
-
-
- /// AddProgress Gimmick callback
- void OnAddProgress( Gimmick::AddProgress& );
- /// Called upon to refresh the viewer once there are no actions to be done
- void OnInternalIdle();
-
- /// 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
- //=====================================================================
-
+ {
+ public:
+
+ typedef int EventType;
+
+ /// Ctor
+ WxGimmickView(Gimmick*,
+ wxWindow *parent,
+ const wxWindowID id,
+ const wxPoint& pos, const wxSize& size,
+ int min_dim = GIMMICK_2D_IMAGE_SELECTION,
+ int max_dim = GIMMICK_3D_IMAGE_SELECTION,
+ int number_of_threads = 0);
+ /// Virtual destructor
+ virtual ~WxGimmickView();
+
+ /// Returns the selected files
+ ///(overloaded from GimmickView)
+ void GetSelectedFiles(std::vector<std::string>& s);
+
+ /// Returns the selected Images so that they comply with the
+ /// given parameter(4D) (overloaded from GimmickView)
+ void GetSelectedImages(std::vector<vtkImageData*>& s, int dim);
+
+ /// Returns the images indicated by the filenames in the vector
+ /// so that they comply with the given parameter(dim)
+ //(overloaded from GimmickView)
+ void GetImages(int dim, const std::vector<std::string>& files,
+ std::vector<vtkImageData*>& s);
+
+ /// Callback called when a selection from a TreeView has changed
+ //(overloaded from GimmickView)
+ void OnSelectionChange(const std::vector<tree::Node*>& s,
+ bool isSelection, int selection, bool mProcess);
+ ///Stops the player
+ void StopPlayer(){mViewer->StopPlayer();}
+ ///Resets the default image
+ void ClearSelection();
+
+
+ ///Sends a request to read the currently selected node and the ones that surround it.
+ void ReadImageThreaded(const std::vector<tree::Node*>& sel);
+
+
+ protected:
+ /// Creates the tool bar
+ void CreateToolBar();
+
+ /// Create the tree view for TreeHandler provided
+ /// (overloaded from GimmickView)
+ void CreateTreeView( TreeHandler*, TimestampDatabaseHandler* );
+
+
+ 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;
+
+ wxSplitterWindow* mSplitter;
+ wxPanel* mBottomPanel;
+ wxStaticText * mText;
+ wxNotebook* mNotebook;
+
+ /// The list of icons
+ wxImageList * mIcon;
+ void CreateIconList();
+
+ Gimmick * mGimmick;
+ /// Callback for adding files
+ void OnAddFiles(wxCommandEvent& event);
+ /// Callback for adding dir
+ void OnAddDir(wxCommandEvent& event);
+ /// Callback for removing files
+ void OnRemove(wxCommandEvent& event);
+
+ /// 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);
+
+ /// 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
+ //=====================================================================
+
+
/*