Overlay.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: Visualization
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2014, Ceetron AS
8 // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Ceetron AS. The contents of this file may
9 // not be disclosed to third parties, copied or duplicated in any form, in whole or in part,
10 // without the prior written permission of Ceetron AS.
11 //##################################################################################################
12 
13 #pragma once
14 
15 #include "CeeVisualization/Base.h"
16 #include "CeeCore/RefCountedObject.h"
17 #include "CeeVisualization/OverlayItem.h"
18 
19 namespace cee {
20 namespace vis {
21 
22 
23 //==================================================================================================
24 //
25 //
26 //
27 //==================================================================================================
28 class CEE_VIS_EXPORT Overlay : public RefCountedObject
29 {
30 public:
31  virtual ~Overlay();
32 
33  size_t itemCount();
34  size_t itemIndex(const OverlayItem* overlayItem) const;
35  OverlayItem* item(size_t itemIndex);
36  OverlayItem::LayoutCorner itemCorner(size_t itemIndex) const;
37  OverlayItem::LayoutDirection itemDirection(size_t itemIndex) const;
38  void itemPosition(size_t itemIndex, int* x, int* y);
39  void addItem(OverlayItem* overlayItem, OverlayItem::LayoutCorner corner, OverlayItem::LayoutDirection direction);
40  void removeItem(OverlayItem* overlayItem);
41  void removeAllItems();
42 
43  void setOverlayItemOverrideSize(OverlayItem* overlayItem, unsigned int width, unsigned int height);
44  void clearOverlayItemOverrideSize(OverlayItem* overlayItem);
45 
46  OverlayItem* itemFromWindowCoordinates(int x, int y);
47 
48  bool automaticLayoutOfModelItems() const;
49  void setAutomaticLayoutOfModelItems(bool autoLayout);
50  unsigned int maximumHeightAutomaticLayout() const;
51  void setMaximumHeightAutomaticLayout(unsigned int heightInPixels);
52 
53  bool disableModelItems() const;
54  void setDisableModelItems(bool disable);
55 
56  OverlayItem::LayoutCorner modelItemsLayoutCorner() const;
57  OverlayItem::LayoutDirection modelItemsLayoutDirection() const;
58  void setModelItemsLayout(OverlayItem::LayoutCorner corner, OverlayItem::LayoutDirection direction);
59 
60  void setShowDebugInfo(bool show);
61  bool showDebugInfo() const;
62 
63 private:
64  Overlay();
65 
66 private:
67  CEE_BASE_F(OverlayNavigationCube);
68  CEE_PRIVATE_F(View);
69  CEE_PRIVATE_IMPL(Overlay);
70  CEE_DISALLOW_COPY_AND_ASSIGN(Overlay);
71 };
72 
73 } // namespace vis
74 } // namespace cee
LayoutDirection
Enumerator for horizontal or vertical orientation of layout items. Describes which direction addition...
Definition: OverlayItem.h:49
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
Overlay navigation cube used for navigation and orientation in a View.
Definition: OverlayNavigationCube.h:34
LayoutCorner
Enumerator for the different locations/"corners" of the view.
Definition: OverlayItem.h:35
Abstract interface for overlay items.
Definition: OverlayItem.h:31
Base class for all reference counted objects with built-in support for intrusive reference counting...
Definition: RefCountedObject.h:34
Provides a render area in the user control/widget to enable visualization of the current model data a...
Definition: View.h:40
Overlay items are visual item presented overlaying the models in the View, for instance a color legen...
Definition: Overlay.h:28