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
60 virtual void VmeAdd(albaVME *vme);
61
63 virtual void VmeRemove(albaVME *vme);
64
66 virtual void VmeModified(albaVME *vme);
67
69 virtual void VmeShow(albaVME *vme, bool visibility);
70
72 virtual void VmeSelected(albaVME *vme);
73
75 virtual bool IsVMEExpanded(albaVME *vme);
76
78 virtual void CollapseVME(albaVME *vme);
79
81 virtual void ExpandVME(albaVME *vme);
82
84 virtual void OpShowGui(bool push_gui, albaGUIPanel *panel);
85
87 virtual void OpHideGui(bool view_closed);
88
90 virtual void ViewSelect(albaView *view);
91
93 virtual void ViewDeleted(albaView *view);
94
96 virtual void EnableSelect(bool enable);
97
99 virtual void Show();
100
102 virtual bool IsShown();
103
105 virtual void Show(bool show);
106
108 virtual std::vector<albaVME*> VmeChoose(void *vme_accept_function = 0, long style = REPRESENTATION_AS_TREE, albaString title = "Choose Node", bool multiSelect = false, albaVME *vme = NULL);
109
111 virtual void FindVME();
112
113protected:
115
116 wxNotebook *m_Notebook;
117 wxNotebook *m_VmeNotebook;
118 wxSplitterWindow *m_SideSplittedPanel;
119
123
126
130
132
136
138};
139#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:122
virtual void OpHideGui(bool view_closed)
Hide the view/operation's gui from the tabbed panel.
virtual void OpShowGui(bool push_gui, albaGUIPanel *panel)
Show the operation's parameters gui on the tabbed panel.
virtual void ExpandVME(albaVME *vme)
Expand the VME on the Tree
albaObserver * m_Listener
Definition: albaSideBar.h:129
virtual void VmeRemove(albaVME *vme)
Remove a vme from the tree.
virtual std::vector< albaVME * > VmeChoose(void *vme_accept_function=0, long style=REPRESENTATION_AS_TREE, albaString title="Choose Node", bool multiSelect=false, albaVME *vme=NULL)
virtual bool IsVMEExpanded(albaVME *vme)
Return True if the VME is Expanded on Tree.
virtual void FindVME()
Open a Find VME dialog.
virtual void EnableSelect(bool enable)
Enable/Disable the vme selection when an operation ends/start.
virtual void VmeModified(albaVME *vme)
Notify to the tree that a vme is modified.
virtual void ViewSelect(albaView *view)
Plug the view settings on the tabbed panel.
virtual void CollapseVME(albaVME *vme)
Collapse the VME on the Tree.
wxNotebook * m_Notebook
Definition: albaSideBar.h:116
albaGUI * m_CurrentPipeGui
Definition: albaSideBar.h:135
albaGUI * m_CurrentVmeOutputGui
Definition: albaSideBar.h:134
virtual void Show(bool show)
Sets the visibility of the panel.
virtual void Show()
Switch the visibility of the panel.
albaGUI * m_AppendingGUI
Definition: albaSideBar.h:131
virtual void VmeAdd(albaVME *vme)
Add a new vme into the tree.
wxNotebook * m_VmeNotebook
Definition: albaSideBar.h:117
albaGUI * m_CurrentVmeGui
Definition: albaSideBar.h:133
virtual void ViewDeleted(albaView *view)
Notify to the tree that a view has been deleted.
albaVME * m_SelectedVme
Definition: albaSideBar.h:127
virtual bool IsShown()
Return true if the panel is showed.
wxSplitterWindow * m_SideSplittedPanel
Definition: albaSideBar.h:118
albaGUIHolder * m_VmePanel
Definition: albaSideBar.h:124
albaGUIPanelStack * m_OpPanel
Definition: albaSideBar.h:120
virtual void VmeSelected(albaVME *vme)
Notify to the tree that the vme has been selected.
void UpdateVmePanel()
virtual void VmeShow(albaVME *vme, bool visibility)
Notify to the tree the visibility of the vme.
albaGUIHolder * m_VmePipePanel
Definition: albaSideBar.h:125
albaView * m_SelectedView
Definition: albaSideBar.h:128
albaSideBar(albaGUIMDIFrame *parent, int id, albaObserver *Listener, long style=DOUBLE_NOTEBOOK)
albaGUIHolder * m_ViewPropertyPanel
Definition: albaSideBar.h:121
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