18 #ifndef _H_HUtilitySubwindow2_H
19 #define _H_HUtilitySubwindow2_H
29 #include "HEventManager.h"
32 #define SUBWINDOW_NOTYPE 0
35 #define SW_ACTION_NOACTION 0
36 #define SW_ACTION_MOVE 1
37 #define SW_ACTION_SIZING 2
38 #define SW_ACTION_DRAGGING 5
39 #define SW_ACTION_SCROLLING 6
42 #define SW_SIZE_FIELD 2
43 #define SW_MOVE_FIELD 4
44 #define SW_DRAG_FIELD 8
45 #define SW_DELETE_FIELD 16
46 #define SW_SCROLL_FIELD 32
47 #define SW_BACKGROUND_BOX 64
89 virtual void Insert(
float left,
float right,
float bottom,
float top,
char *title = 0,
float minwidth = 0,
float minheight = 0,
int type =
SUBWINDOW_NOTYPE,
long appearance =
102 virtual bool IsActive();
108 virtual void GetFromKey(HC_KEY key);
114 virtual bool IsSubwindow(HC_KEY key);
123 virtual bool FindSubwindow(
HBaseView *view,
HPoint pos,
bool &pointerselected);
130 virtual HC_KEY FindSubwindowFromSegment(HC_KEY key);
137 virtual void GetPosition(
float &x,
float &y);
144 virtual void SetPosition(
float x,
float y);
150 virtual HC_KEY GetWindowKey();
157 virtual void GetSize(
float &x,
float &y);
164 virtual void SetSize(
float deltax,
float deltay);
173 virtual void ConvertFromSubwindowToView(
HPoint &in_point,
HPoint &out_point);
180 virtual void ConvertFromViewToSubwindow(
HPoint const & in_point,
HPoint & out_point);
200 virtual void SetSize(
float left,
float right,
float bottom,
float top);
211 virtual void ComputeCoordinates(
HBaseView *view,
const char *in_system,
HPoint &from,
const char *out_system,
HPoint &to);
231 virtual const char *
GetName();
235 static const char * GetStaticName();
258 virtual int PreFitWorldEvent(
HBaseView *view);
266 virtual int PostFitWorldEvent(
HBaseView *view);
286 virtual int SetupHandlesEvent(
HBaseView *view, HC_KEY key,
bool complex);
303 virtual int ObjectScaledEvent(
HBaseView *view, HC_KEY key,
HPoint &scale);
305 virtual void DrawScrollBox();
313 void GetParameters();
319 bool IsInSizeArea(
HPoint &point);
320 bool IsInScrollArea(
HPoint &point);
327 bool IsInMagnifyArea(
HPoint &point);
337 void BuildMagnifyController(
float pos);
357 bool IsInCloseArea(
HPoint &point);
363 bool IsInDragArea(
HPoint &point);
374 bool IsInMoveArea(
HPoint &point);
380 void ChangeMagnification(
HBaseView *view,
float magnification);
383 virtual void UpdateContent();
416 virtual void UpdateContent();
HPoint m_Pointer
Definition: HUtilitySubwindow2.h:396
virtual int OnLButtonDownAndMove(HEventInfo &hevent)
virtual const char * GetName()
The HObject is the base class for generic MVO objects.
Definition: HEventManager.h:121
virtual int OnLButtonUp(HEventInfo &hevent)
long m_Appearance
Definition: HUtilitySubwindow2.h:395
virtual int OnLButtonUp(HEventInfo &hevent)
virtual int OnLButtonDownAndMove(HEventInfo &hevent)
#define SW_BACKGROUND_BOX
Subwindow has a shadow.
Definition: HUtilitySubwindow.h:51
virtual int GetType()
Definition: HUtilitySubwindow2.h:220
float m_Top
Definition: HUtilitySubwindow2.h:392
float m_Left
Definition: HUtilitySubwindow2.h:389
#define SW_BORDER
Subwindow has borders.
Definition: HUtilitySubwindow.h:45
#define SW_SIZE_FIELD
Subwindow has a resize area.
Definition: HUtilitySubwindow.h:46
virtual HC_KEY GetKey()
Definition: HUtilitySubwindow2.h:226
#define SW_MOVE_FIELD
Subwindow can be moved.
Definition: HUtilitySubwindow.h:47
float m_Bottom
Definition: HUtilitySubwindow2.h:391
float m_Right
Definition: HUtilitySubwindow2.h:390
The HBaseOperator class serves as a base for classes which handle user input and operate on the scene...
Definition: HBaseOperator.h:65
#define SUBWINDOW_NOTYPE
The basic window type.
Definition: HUtilitySubwindow.h:32
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
HC_KEY m_WindowKey
Definition: HUtilitySubwindow2.h:386
The HEventInfo class stores and manages event information.
Definition: HEventInfo.h:214
The HSubwindow2 class encapsulates interactive floating subwindows.
Definition: HUtilitySubwindow2.h:59
#define SW_DELETE_FIELD
Subwindow has a close button.
Definition: HUtilitySubwindow.h:49
virtual int OnLButtonDown(HEventInfo &hevent)
HC_KEY m_OuterKey
Definition: HUtilitySubwindow2.h:385
virtual int OnLButtonDown(HEventInfo &hevent)
HPoint m_ptLast
Definition: HUtilitySubwindow2.h:398
#define SW_DRAG_FIELD
Subwindow allows the scene to be moved inside the window.
Definition: HUtilitySubwindow.h:48
Definition: HUtilitySubwindow2.h:409
int m_Action
Definition: HUtilitySubwindow2.h:397
int m_Type
Definition: HUtilitySubwindow2.h:394