14 #ifndef _H_HUtilitySubwindow2_H
15 #define _H_HUtilitySubwindow2_H
25 #include "HEventManager.h"
28 #define SUBWINDOW_NOTYPE 0
31 #define SW_ACTION_NOACTION 0
32 #define SW_ACTION_MOVE 1
33 #define SW_ACTION_SIZING 2
34 #define SW_ACTION_DRAGGING 5
35 #define SW_ACTION_SCROLLING 6
38 #define SW_SIZE_FIELD 2
39 #define SW_MOVE_FIELD 4
40 #define SW_DRAG_FIELD 8
41 #define SW_DELETE_FIELD 16
42 #define SW_SCROLL_FIELD 32
43 #define SW_BACKGROUND_BOX 64
85 virtual void Insert(
float left,
float right,
float bottom,
float top,
char const * title = 0,
float minwidth = 0,
float minheight = 0,
int type =
SUBWINDOW_NOTYPE,
long appearance =
98 virtual bool IsActive();
104 virtual void GetFromKey(HC_KEY key);
110 virtual bool IsSubwindow(HC_KEY key);
119 virtual bool FindSubwindow(
HBaseView *view,
HPoint pos,
bool &pointerselected);
126 virtual HC_KEY FindSubwindowFromSegment(HC_KEY key);
133 virtual void GetPosition(
float &x,
float &y);
140 virtual void SetPosition(
float x,
float y);
146 virtual HC_KEY GetWindowKey();
153 virtual void GetSize(
float &x,
float &y);
160 virtual void SetSize(
float deltax,
float deltay);
169 virtual void ConvertFromSubwindowToView(
HPoint &in_point,
HPoint &out_point);
176 virtual void ConvertFromViewToSubwindow(
HPoint const & in_point,
HPoint & out_point);
196 virtual void SetSize(
float left,
float right,
float bottom,
float top);
207 virtual void ComputeCoordinates(
HBaseView *view,
const char *in_system,
HPoint &from,
const char *out_system,
HPoint &to);
227 virtual const char *
GetName();
231 static const char * GetStaticName();
254 virtual int PreFitWorldEvent(
HBaseView *view);
262 virtual int PostFitWorldEvent(
HBaseView *view);
282 virtual int SetupHandlesEvent(
HBaseView *view, HC_KEY key,
bool complex);
299 virtual int ObjectScaledEvent(
HBaseView *view, HC_KEY key,
HPoint &scale);
301 virtual void DrawScrollBox();
309 void GetParameters();
315 bool IsInSizeArea(
HPoint &point);
316 bool IsInScrollArea(
HPoint &point);
323 bool IsInMagnifyArea(
HPoint &point);
333 void BuildMagnifyController(
float pos);
353 bool IsInCloseArea(
HPoint &point);
359 bool IsInDragArea(
HPoint &point);
370 bool IsInMoveArea(
HPoint &point);
376 void ChangeMagnification(
HBaseView *view,
float magnification);
379 virtual void UpdateContent();
412 virtual void UpdateContent();
HPoint m_Pointer
Definition: HUtilitySubwindow2.h:392
virtual int OnLButtonDownAndMove(HEventInfo &hevent)
virtual const char * GetName()
The HObject is the base class for generic MVO objects.
Definition: HEventManager.h:115
virtual int OnLButtonUp(HEventInfo &hevent)
long m_Appearance
Definition: HUtilitySubwindow2.h:391
virtual int OnLButtonUp(HEventInfo &hevent)
virtual int OnLButtonDownAndMove(HEventInfo &hevent)
#define SW_BACKGROUND_BOX
Subwindow has a shadow.
Definition: HUtilitySubwindow.h:47
virtual int GetType()
Definition: HUtilitySubwindow2.h:216
float m_Top
Definition: HUtilitySubwindow2.h:388
float m_Left
Definition: HUtilitySubwindow2.h:385
#define SW_BORDER
Subwindow has borders.
Definition: HUtilitySubwindow.h:41
#define SW_SIZE_FIELD
Subwindow has a resize area.
Definition: HUtilitySubwindow.h:42
virtual HC_KEY GetKey()
Definition: HUtilitySubwindow2.h:222
#define SW_MOVE_FIELD
Subwindow can be moved.
Definition: HUtilitySubwindow.h:43
float m_Bottom
Definition: HUtilitySubwindow2.h:387
float m_Right
Definition: HUtilitySubwindow2.h:386
The HBaseOperator class serves as a base for classes which handle user input and operate on the scene...
Definition: HBaseOperator.h:60
#define SUBWINDOW_NOTYPE
The basic window type.
Definition: HUtilitySubwindow.h:28
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:332
HC_KEY m_WindowKey
Definition: HUtilitySubwindow2.h:382
The HEventInfo class stores and manages event information.
Definition: HEventInfo.h:207
The HSubwindow2 class encapsulates interactive floating subwindows.
Definition: HUtilitySubwindow2.h:55
#define SW_DELETE_FIELD
Subwindow has a close button.
Definition: HUtilitySubwindow.h:45
virtual int OnLButtonDown(HEventInfo &hevent)
HC_KEY m_OuterKey
Definition: HUtilitySubwindow2.h:381
virtual int OnLButtonDown(HEventInfo &hevent)
HPoint m_ptLast
Definition: HUtilitySubwindow2.h:394
#define SW_DRAG_FIELD
Subwindow allows the scene to be moved inside the window.
Definition: HUtilitySubwindow.h:44
Definition: HUtilitySubwindow2.h:405
int m_Action
Definition: HUtilitySubwindow2.h:393
int m_Type
Definition: HUtilitySubwindow2.h:390