ALBA
albaSideBar.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: ALBA (Agile Library for Biomedical Applications)
4 Module: albaSideBar
5 Authors: Silvano Imboden, Gianluigi Crimi
6
7 Copyright (c) BIC
8 All rights reserved. See Copyright.txt or
9
10
11 This software is distributed WITHOUT ANY WARRANTY; without even
12 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13 PURPOSE. See the above copyright notice for more information.
14
15=========================================================================*/
16#ifndef __albaSideBar_H__
17#define __albaSideBar_H__
18//----------------------------------------------------------------------------
19// Include:
20//----------------------------------------------------------------------------
21#include <wx/notebook.h>
22#include <wx/splitter.h>
23#include <wx/utils.h>
24
25#include "albaEvent.h"
26#include "albaObserver.h"
27#include "albaGUICheckTree.h"
29#include "albaAbsSideBar.h"
30//----------------------------------------------------------------------------
31// forward reference
32//----------------------------------------------------------------------------
33class albaGUIHolder;
34class albaGUI;
36class albaGUIPanel;
37class albaVME;
38class albaView;
41class albaGUIMDIFrame;
42//----------------------------------------------------------------------------
43// albaSideBar :
44//----------------------------------------------------------------------------
47class ALBA_EXPORT albaSideBar: public albaAbsSideBar
48{
49public:
50 albaSideBar(albaGUIMDIFrame* parent, int id, albaObserver *Listener, long style = DOUBLE_NOTEBOOK);
52
54 {
56 DOUBLE_NOTEBOOK
57 };
58
59 // Description:
60 // Add a new vme into the tree.
61 void VmeAdd(albaVME *vme);
62
63 // Description:
64 // Remove a vme from the tree.
65 void VmeRemove(albaVME *vme);
66
67 // Description:
68 // Notify to the tree that a vme is modified.
69 void VmeModified(albaVME *vme);
70
71 // Description:
72 // Notify to the tree the visibility of the vme.
73 void VmeShow(albaVME *vme, bool visibility);
74
75 // Description:
76 // Notify to the tree that the vme has been selected.
77 void VmeSelected(albaVME *vme);
78
79 // Description:
80 // Show the operation's parameters gui on the tabbed panel.
81 void OpShowGui(bool push_gui, albaGUIPanel *panel);
82
83 // Description:
84 // Hide the view/operation's gui from the tabbed panel.
85 void OpHideGui(bool view_closed);
86
87 // Description:
88 // Plug the view settings on the tabbed panel.
89 void ViewSelect(albaView *view);
90
91 // Description:
92 // Notify to the tree that a view has been deleted.
93 void ViewDeleted(albaView *view);
94
95 // Description:
96 // Enable/Disable the vme selection when an operation ends/start.
97 void EnableSelect(bool enable);
98
99 // Description:
100 // Switch the visibility of the panel.
101 void Show();
102
103 bool IsShown() {return m_Notebook->IsShown();};
104 void Show(bool show) {m_Notebook->Show(show);};
105
107 std::vector<albaVME*> VmeChoose(void *vme_accept_function = 0, long style = REPRESENTATION_AS_TREE, albaString title = "Choose Node", bool multiSelect = false, albaVME *vme = NULL);
108
110 void FindVME();
111
112protected:
114
115 wxNotebook *m_Notebook;
116 wxNotebook *m_VmeNotebook;
117 wxSplitterWindow *m_SideSplittedPanel;
118
122
125
129
131
135
137};
138#endif
@ REPRESENTATION_AS_TREE
class Name : albaGUICheckTree.
class name: albaGUIHolder Secialized panel in which a developer can put a albaGUI.
Definition: albaGUIHolder.h:32
Class Name: albaGUIMDIFrame.
Class Name: albaGUINamedPanel.
class name: albaGUIPanelStack Panel with the same behaviour of a stack container (push and pop method...
class name: albaGUIPanel Inherits directly from wxPanel and adds the pointer to the next panel
Definition: albaGUIPanel.h:27
albaGUISplittedPanel is a wxPanel with a user-draggable splitter that divide it in two sections verti...
albaGUI is a panel with function to easily create GUI.
Definition: albaGUI.h:110
Interface implementing the Observer of the Subject/Observer design pattern.
Definition: albaObserver.h:36
albaGUICheckTree * m_Tree
Definition: albaSideBar.h:121
void VmeAdd(albaVME *vme)
void VmeRemove(albaVME *vme)
void ViewSelect(albaView *view)
albaObserver * m_Listener
Definition: albaSideBar.h:128
void FindVME()
Open a Find VME dialog.
std::vector< albaVME * > VmeChoose(void *vme_accept_function=0, long style=REPRESENTATION_AS_TREE, albaString title="Choose Node", bool multiSelect=false, albaVME *vme=NULL)
Respond to a VME_CHOOSE evt.
wxNotebook * m_Notebook
Definition: albaSideBar.h:115
albaGUI * m_CurrentPipeGui
Definition: albaSideBar.h:134
albaGUI * m_CurrentVmeOutputGui
Definition: albaSideBar.h:133
bool IsShown()
Definition: albaSideBar.h:103
albaGUI * m_AppendingGUI
Definition: albaSideBar.h:130
void ViewDeleted(albaView *view)
wxNotebook * m_VmeNotebook
Definition: albaSideBar.h:116
albaGUI * m_CurrentVmeGui
Definition: albaSideBar.h:132
void VmeSelected(albaVME *vme)
albaVME * m_SelectedVme
Definition: albaSideBar.h:126
wxSplitterWindow * m_SideSplittedPanel
Definition: albaSideBar.h:117
void EnableSelect(bool enable)
void VmeShow(albaVME *vme, bool visibility)
void VmeModified(albaVME *vme)
albaGUIHolder * m_VmePanel
Definition: albaSideBar.h:123
albaGUIPanelStack * m_OpPanel
Definition: albaSideBar.h:119
void OpShowGui(bool push_gui, albaGUIPanel *panel)
void OpHideGui(bool view_closed)
void UpdateVmePanel()
void Show(bool show)
Definition: albaSideBar.h:104
albaGUIHolder * m_VmePipePanel
Definition: albaSideBar.h:124
albaView * m_SelectedView
Definition: albaSideBar.h:127
albaSideBar(albaGUIMDIFrame *parent, int id, albaObserver *Listener, long style=DOUBLE_NOTEBOOK)
albaGUIHolder * m_ViewPropertyPanel
Definition: albaSideBar.h:120
albaString - performs common string operations on c-strings.
Definition: albaString.h:43
albaVME -
Definition: albaVME.h:150
albaView is the base class for Views in alba.
Definition: albaView.h:79