class WxGimmickDicomNodeData;
//====================================================================
+#define GIMMICK_NO_IMAGE_SELECTION 0
+#define GIMMICK_2D_IMAGE_SELECTION 2
+#define GIMMICK_3D_IMAGE_SELECTION 3
+#define GIMMICK_4D_IMAGE_SELECTION 4
+
//====================================================================
class CREAIMAGEIO_EXPORT WxGimmick : public wxPanel,
- public MultiThreadImageReaderUser
+ public MultiThreadImageReaderUser
{
public:
+
WxGimmick(wxWindow *parent, const wxWindowID id,
- const wxPoint& pos, const wxSize& size,
- int number_of_threads = 0);
+ const wxPoint& pos, const wxSize& size,
+ int image_type = GIMMICK_3D_IMAGE_SELECTION,
+ int number_of_threads = 0);
virtual ~WxGimmick();
+ int GetSelectionSize() { return mTreeListCtrl->GetSelectionSize(); }
+ bool IsSelectionValid();
+ void GetSelectedFiles(std::vector<std::string>&);
+ void GetSelectedImages(std::vector<vtkImageData*>&);
+ void GetSelectedDicomNodes(std::vector<DicomNode*>&);
+ void GetSelectedItems(std::vector<wxTreeItemId>&);
+ DicomNode* GetDicomNodeOfItem(const wxTreeItemId& i);
+
+ static const int UserMenuFirstId;
+
+ typedef WxGimmickSettings Settings;
+ const Settings& GetSettings() const { return mSettings; }
+ Settings& GetSettings() { return mSettings; }
+
+ typedef WxGimmickEvent EventType;
+
typedef std::vector<DicomDatabase*> DicomDatabaseListType;
- DicomDatabaseListType& GetDicomDatabaseList() { return mDicomDatabaseList; }
- const DicomDatabaseListType& GetDicomDatabaseList() const { return mDicomDatabaseList; }
+ DicomDatabaseListType& GetDicomDatabaseList()
+ { return mDicomDatabaseList; }
+ const DicomDatabaseListType& GetDicomDatabaseList() const
+ { return mDicomDatabaseList; }
wxTreeListCtrl* GetTreeListCtrl() { return mTreeListCtrl; }
const wxTreeListCtrl* GetTreeListCtrl() const { return mTreeListCtrl; }
void SetConfigurationFile(const std::string& filename)
- {
- mConfigurationFile = filename;
- }
+ { mConfigurationFile = filename;}
void LoadConfiguration();
void SaveConfiguration();
void SetSaveConfigurationOnClose(bool v)
{ mSaveConfigurationOnClose = v; }
- void GetSelectedImages(std::vector<std::string>&);
- void GetSelectedDicomNodes(std::vector<DicomNode*>&);
- void GetSelectedItems(std::vector<wxTreeItemId>&);
- DicomNode* GetDicomNodeOfItem(const wxTreeItemId& i);
-
-
- static const int UserMenuFirstId;
-
- typedef WxGimmickSettings Settings;
- const Settings& GetSettings() const { return mSettings; }
- Settings& GetSettings() { return mSettings; }
-
- typedef WxGimmickEvent EventType;
protected:
void RebuildView();
void InsertDicomDatabase(wxTreeItemId& id, DicomDatabase* r);
void DeleteDicomDatabase(wxTreeItemId& id, DicomDatabase* r);
+ void LoadChildren( wxTreeItemId& id );
friend class WxGimmickEvent;
private:
WxGimmick() { }
WxGimmick(const WxGimmick& ) { }
+ int mSelectionType;
+ int mSelectionMaxImageDimension;
+ int mCurrentSelectionImageSize[4];
+
DicomDatabaseListType mDicomDatabaseList;
wxTreeListCtrl* mTreeListCtrl;
void OnItemCollapsing(wxTreeEvent& event);
void OnSelChanged(wxTreeEvent& event);
void OnSelChanging(wxTreeEvent& event);
+ bool IsImageSelectable(DicomNode* node);
void OnTreeKeyDown(wxTreeEvent& event);
void OnItemActivated(wxTreeEvent& event);
void OnItemRightClick(wxTreeEvent& event);