Medical Imaging Interaction Toolkit  2018.4.99-9a29ffc6
Medical Imaging Interaction Toolkit
berryIWorkbenchConfigurer.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef BERRYIWORKBENCHCONFIGURER_H_
14 #define BERRYIWORKBENCHCONFIGURER_H_
15 
16 #include <berryMacros.h>
17 
19 #include "berryIWorkbench.h"
20 
22 
23 namespace berry {
24 
39 {
40 
42 
43  ~IWorkbenchConfigurer() override;
44 
52  static const int RESTORE_CODE_RESET = 1;
53 
60  static const int RESTORE_CODE_EXIT = 2;
61 
67  virtual IWorkbench* GetWorkbench() = 0;
68 
79  virtual bool GetSaveAndRestore() = 0;
80 
88  virtual void SetSaveAndRestore(bool enabled) = 0;
89 
98  virtual IWorkbenchWindowConfigurer::Pointer RestoreWorkbenchWindow(IMemento::Pointer memento) = 0;
99 
100  /*
101  * Declares a workbench image.
102  * <p>
103  * The workbench remembers the given image descriptor under the given name,
104  * and makes the image available to plug-ins via
105  * {@link IWorkbench#GetSharedImages() IWorkbench.getSharedImages()}.
106  * For "shared" images, the workbench remembers the image descriptor and
107  * will manages the image object create from it; clients retrieve "shared"
108  * images via
109  * {@link org.blueberry.ui.ISharedImages#getImage ISharedImages.getImage()}.
110  * For the other, "non-shared" images, the workbench remembers only the
111  * image descriptor; clients retrieve the image descriptor via
112  * {@link org.blueberry.ui.ISharedImages#getImageDescriptor
113  * ISharedImages.getImageDescriptor()} and are entirely
114  * responsible for managing the image objects they create from it.
115  * (This is made confusing by the historical fact that the API interface
116  * is called "ISharedImages".)
117  * </p>
118  *
119  * @param symbolicName the symbolic name of the image
120  * @param descriptor the image descriptor
121  * @param shared <code>true</code> if this is a shared image, and
122  * <code>false</code> if this is not a shared image
123  * @see org.blueberry.ui.ISharedImages#getImage
124  * @see org.blueberry.ui.ISharedImages#getImageDescriptor
125  */
126 // virtual void declareImage(String symbolicName, ImageDescriptor descriptor,
127 // boolean shared);
128 
143  virtual void EmergencyClose() = 0;
144 
155  virtual bool EmergencyClosing() = 0;
156 
163  virtual IWorkbenchWindowConfigurer::Pointer GetWindowConfigurer(
164  IWorkbenchWindow::Pointer window) = 0;
165 
173  virtual Object::Pointer GetData(const QString& key) const = 0;
174 
181  virtual void SetData(const QString& key, Object::Pointer data) = 0;
182 
198  virtual bool RestoreState() = 0;
199 
210  virtual void OpenFirstTimeWindow() = 0;
211 
237  virtual bool GetExitOnLastWindowClose() = 0;
238 
252  virtual void SetExitOnLastWindowClose(bool enabled) = 0;
253 };
254 
255 }
256 
257 #endif /*BERRYIWORKBENCHCONFIGURER_H_*/
Light weight base class for most BlueBerry classes.
Definition: berryObject.h:72
#define berryObjectMacro(...)
Definition: berryMacros.h:33
#define BERRY_UI_QT