Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
GUIEditWindowManager Class Reference

#include <GUIEditWindowManager.h>

Inherits W3DGameWindowManager.

Public Member Functions

 GUIEditWindowManager (void)
 
virtual ~GUIEditWindowManager (void)
 
virtual void init (void)
 initialize system
 
virtual Int winDestroy (GameWindow *window)
 
virtual GameWindowwinCreate (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, GameWinSystemFunc system, WinInstanceData *instData=NULL)
 create a new window by setting up parameters and callbacks
 
void moveAheadOf (GameWindow *windowToMove, GameWindow *aheadOf)
 
void makeChildOf (GameWindow *target, GameWindow *parent)
 make target a child of the parent
 
void validateClipboardNames (GameWindow *root)
 ensure unique names
 
void incrementName (GameWindow *window)
 make a new unique name
 
void resetClipboard (void)
 reset the clipboard to empty
 
Bool isClipboardEmpty (void)
 is the clipboard empty
 
void duplicateSelected (GameWindow *root)
 dupe the selected windows into the clipboard
 
void copySelectedToClipboard (void)
 copy selected windows to clipboard
 
void cutSelectedToClipboard (void)
 cut selected windows to clipboard
 
void pasteClipboard (void)
 paste the contents of the clipboard
 
GameWindowgetClipboardList (void)
 get the clipboard list
 
GameWindowgetClipboardDupeList (void)
 get clipboard dupe list
 
- Public Member Functions inherited from W3DGameWindowManager
 W3DGameWindowManager (void)
 
virtual ~W3DGameWindowManager (void)
 
virtual GameWindowallocateNewWindow (void)
 allocate a new game window
 
virtual GameWinDrawFunc getDefaultDraw (void)
 return default draw func to use
 
virtual GameWinDrawFunc getPushButtonImageDrawFunc (void)
 
virtual GameWinDrawFunc getPushButtonDrawFunc (void)
 
virtual GameWinDrawFunc getCheckBoxImageDrawFunc (void)
 
virtual GameWinDrawFunc getCheckBoxDrawFunc (void)
 
virtual GameWinDrawFunc getRadioButtonImageDrawFunc (void)
 
virtual GameWinDrawFunc getRadioButtonDrawFunc (void)
 
virtual GameWinDrawFunc getTabControlImageDrawFunc (void)
 
virtual GameWinDrawFunc getTabControlDrawFunc (void)
 
virtual GameWinDrawFunc getListBoxImageDrawFunc (void)
 
virtual GameWinDrawFunc getListBoxDrawFunc (void)
 
virtual GameWinDrawFunc getComboBoxImageDrawFunc (void)
 
virtual GameWinDrawFunc getComboBoxDrawFunc (void)
 
virtual GameWinDrawFunc getHorizontalSliderImageDrawFunc (void)
 
virtual GameWinDrawFunc getHorizontalSliderDrawFunc (void)
 
virtual GameWinDrawFunc getVerticalSliderImageDrawFunc (void)
 
virtual GameWinDrawFunc getVerticalSliderDrawFunc (void)
 
virtual GameWinDrawFunc getProgressBarImageDrawFunc (void)
 
virtual GameWinDrawFunc getProgressBarDrawFunc (void)
 
virtual GameWinDrawFunc getStaticTextImageDrawFunc (void)
 
virtual GameWinDrawFunc getStaticTextDrawFunc (void)
 
virtual GameWinDrawFunc getTextEntryImageDrawFunc (void)
 
virtual GameWinDrawFunc getTextEntryDrawFunc (void)
 
- Public Member Functions inherited from GameWindowManager
 GameWindowManager (void)
 
virtual ~GameWindowManager (void)
 
virtual void reset (void)
 reset the system
 
virtual void update (void)
 update method, called once per frame
 
void linkWindow (GameWindow *window)
 link into master list
 
void unlinkWindow (GameWindow *window)
 unlink from master list
 
void unlinkChildWindow (GameWindow *window)
 remove child from parent list
 
void insertWindowAheadOf (GameWindow *window, GameWindow *aheadOf)
 add window to list 'ahead of'
 
virtual GameWinSystemFunc getDefaultSystem (void)
 return default system func
 
virtual GameWinInputFunc getDefaultInput (void)
 return default input func
 
virtual GameWinTooltipFunc getDefaultTooltip (void)
 return default tooltip func
 
virtual GameWindowgogoMessageBox (Int x, Int y, Int width, Int height, UnsignedShort buttonFlags, UnicodeString titleString, UnicodeString bodyString, GameWinMsgBoxFunc yesCallback, GameWinMsgBoxFunc noCallback, GameWinMsgBoxFunc okCallback, GameWinMsgBoxFunc cancelCallback)
 
virtual GameWindowgogoMessageBox (Int x, Int y, Int width, Int height, UnsignedShort buttonFlags, UnicodeString titleString, UnicodeString bodyString, GameWinMsgBoxFunc yesCallback, GameWinMsgBoxFunc noCallback, GameWinMsgBoxFunc okCallback, GameWinMsgBoxFunc cancelCallback, Bool useLogo)
 
virtual GameWindowgogoGadgetPushButton (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, GameFont *defaultFont, Bool defaultVisual)
 
virtual GameWindowgogoGadgetCheckbox (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, GameFont *defaultFont, Bool defaultVisual)
 
virtual GameWindowgogoGadgetRadioButton (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, RadioButtonData *rData, GameFont *defaultFont, Bool defaultVisual)
 
virtual GameWindowgogoGadgetTabControl (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, TabControlData *rData, GameFont *defaultFont, Bool defaultVisual)
 
virtual GameWindowgogoGadgetListBox (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, ListboxData *listboxData, GameFont *defaultFont, Bool defaultVisual)
 
virtual GameWindowgogoGadgetSlider (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, SliderData *sliderData, GameFont *defaultFont, Bool defaultVisual)
 
virtual GameWindowgogoGadgetProgressBar (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, GameFont *defaultFont, Bool defaultVisual)
 
virtual GameWindowgogoGadgetStaticText (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, TextData *textData, GameFont *defaultFont, Bool defaultVisual)
 
virtual GameWindowgogoGadgetTextEntry (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, EntryData *entryData, GameFont *defaultFont, Bool defaultVisual)
 
virtual GameWindowgogoGadgetComboBox (GameWindow *parent, UnsignedInt status, Int x, Int y, Int width, Int height, WinInstanceData *instData, ComboBoxData *comboBoxDataTemplate, GameFont *defaultFont, Bool defaultVisual)
 
virtual void assignDefaultGadgetLook (GameWindow *gadget, GameFont *defaultFont, Bool assignVisual)
 
virtual GameWindowwinCreateFromScript (AsciiString filename, WindowLayoutInfo *info=NULL)
 create new window(s) from .wnd file ... see definition for what is returned
 
virtual WindowLayoutwinCreateLayout (AsciiString filename)
 create new window(s) from .wnd file and wrap in a WindowLayout
 
virtual void freeStaticStrings (void)
 free temporary strings to make the memory leak manager happy.
 
virtual Int winDestroyAll (void)
 destroy all windows in the system
 
virtual GameWindowwinGetWindowList (void)
 get head of master list
 
virtual void hideWindowsInRange (GameWindow *baseWindow, Int first, Int last, Bool hideFlag)
 hide all windows in a certain range of id's (inclusinve );
 
virtual void enableWindowsInRange (GameWindow *baseWindow, Int first, Int last, Bool enableFlag)
 enable all windows in a range of id's (inclusive)
 
virtual void windowHiding (GameWindow *window)
 this gets called from winHide() when a window hides itself
 
virtual void winRepaint (void)
 draw GUI in reverse order
 
virtual void winNextTab (GameWindow *window)
 give keyboard focus to the next window in the tab list
 
virtual void winPrevTab (GameWindow *window)
 give keyboard focus to the previous window in the tab list
 
virtual void registerTabList (GameWindowList tabList)
 we have to register a Tab List
 
virtual void clearTabList (void)
 we's gotz ta clear the tab list yo!
 
virtual WinInputReturnCode winProcessMouseEvent (GameWindowMessage msg, ICoord2D *mousePos, void *data)
 process a single mouse event
 
virtual WinInputReturnCode winProcessKey (UnsignedByte key, UnsignedByte state)
 process a singke key event
 
virtual GameWindowwinGetFocus (void)
 return window that has the focus
 
virtual Int winSetFocus (GameWindow *window)
 set this window as has focus
 
virtual void winSetGrabWindow (GameWindow *window)
 set the grab window
 
virtual GameWindowwinGetGrabWindow (void)
 who is currently 'held' by mouse
 
virtual void winSetLoneWindow (GameWindow *window)
 set the open window
 
virtual Bool isEnabled (GameWindow *win)
 is window or parents enabled
 
virtual Bool isHidden (GameWindow *win)
 is parent or parents hidden
 
virtual void addWindowToParent (GameWindow *window, GameWindow *parent)
 
virtual void addWindowToParentAtEnd (GameWindow *window, GameWindow *parent)
 
virtual WindowMsgHandledType winSendSystemMsg (GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2)
 sends a system message to specified window
 
virtual WindowMsgHandledType winSendInputMsg (GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2)
 sends an input message to the specified window
 
virtual GameWindowwinGetWindowFromId (GameWindow *window, Int id)
 
virtual Int winCapture (GameWindow *window)
 captures the mouse
 
virtual Int winRelease (GameWindow *window)
 release mouse capture
 
virtual GameWindowwinGetCapture (void)
 current mouse capture settings
 
virtual Int winSetModal (GameWindow *window)
 put at top of modal stack
 
virtual Int winUnsetModal (GameWindow *window)
 
virtual void winDrawImage (const Image *image, Int startX, Int startY, Int endX, Int endY, Color color=0xFFFFFFFF)
 draw image, coord are in screen and should be kepth within that box specified
 
virtual void winFillRect (Color color, Real width, Int startX, Int startY, Int endX, Int endY)
 draw filled rect, coords are absolute screen coords
 
virtual void winOpenRect (Color color, Real width, Int startX, Int startY, Int endX, Int endY)
 draw rect outline, coords are absolute screen coords
 
virtual void winDrawLine (Color color, Real width, Int startX, Int startY, Int endX, Int endY)
 draw line, coords are absolute screen coords
 
virtual Color winMakeColor (UnsignedByte red, UnsignedByte green, UnsignedByte blue, UnsignedByte alpha)
 Make a color representation out of RGBA components.
 
virtual const ImagewinFindImage (const char *name)
 
virtual Int winFontHeight (GameFont *font)
 get height of font in pixels
 
virtual Int winIsDigit (Int c)
 is character a digit
 
virtual Int winIsAscii (Int c)
 is character a digit
 
virtual Int winIsAlNum (Int c)
 is character alpha-numeric
 
virtual void winFormatText (GameFont *font, UnicodeString text, Color color, Int x, Int y, Int width, Int height)
 
virtual void winGetTextSize (GameFont *font, UnicodeString text, Int *width, Int *height, Int maxWidth)
 
virtual UnicodeString winTextLabelToText (AsciiString label)
 convert localizable text label to real text
 
virtual GameFontwinFindFont (AsciiString fontName, Int pointSize, Bool bold)
 get a font given a name
 
Bool initTestGUI (void)
 
virtual GameWindowgetWindowUnderCursor (Int x, Int y, Bool ignoreEnabled=FALSE)
 find the top window at the given coordinates
 
- Public Member Functions inherited from SubsystemInterface
 SubsystemInterface ()
 
virtual ~SubsystemInterface ()
 
virtual void postProcessLoad ()
 
virtual void draw (void)
 
void UPDATE (void)
 
void DRAW (void)
 
AsciiString getName (void)
 
void setName (AsciiString name)
 

Protected Member Functions

Bool isWindowInClipboard (GameWindow *window, GameWindow **list)
 
void linkToClipboard (GameWindow *window, GameWindow **list)
 add window to clipboard
 
void unlinkFromClipboard (GameWindow *window, GameWindow **list)
 remove window from clipboard
 
void removeSupervisedChildSelections (void)
 
GameWindowduplicateWindow (GameWindow *source, GameWindow *parent)
 dupe a window and its children
 
void createClipboardDuplicate (void)
 duplicate the clipboard on the dup list
 
- Protected Member Functions inherited from GameWindowManager
void processDestroyList (void)
 process windows waiting to be killed
 
Int drawWindow (GameWindow *window)
 draw this window
 
void dumpWindow (GameWindow *window)
 for debugging
 

Protected Attributes

GameWindowm_clipboard
 list of windows in the clipboard
 
GameWindowm_clipboardDup
 list duplicate of the clipboard used for pasting
 
Int m_copySpacing
 keeps multiple pastes from being on top of each other
 
Int m_numCopiesPasted
 keeps multiple pastes from being on top of each other
 
- Protected Attributes inherited from GameWindowManager
GameWindowm_windowList
 
GameWindowm_windowTail
 
GameWindowm_destroyList
 
GameWindowm_currMouseRgn
 
GameWindowm_mouseCaptor
 
GameWindowm_keyboardFocus
 
ModalWindowm_modalHead
 
GameWindowm_grabWindow
 
GameWindowm_loneWindow
 
GameWindowList m_tabList
 
const Imagem_cursorBitmap
 
UnsignedInt m_captureFlags
 
- Protected Attributes inherited from SubsystemInterface
AsciiString m_name
 

Detailed Description

GUI edit interface for window manager

Definition at line 46 of file GUIEditWindowManager.h.

Constructor & Destructor Documentation

◆ GUIEditWindowManager()

GUIEditWindowManager::GUIEditWindowManager ( void )

Traverse the selected window list, any child windows we encounter are removed from their parent and placed in the window list at the top level. Window position adjustments are made to compensate for the transition from "parent space" to "screen space"

Definition at line 222 of file GUIEditWindowManager.cpp.

◆ ~GUIEditWindowManager()

GUIEditWindowManager::~GUIEditWindowManager ( void )
virtual

Definition at line 235 of file GUIEditWindowManager.cpp.

Member Function Documentation

◆ copySelectedToClipboard()

void GUIEditWindowManager::copySelectedToClipboard ( void )

copy selected windows to clipboard

Copy the selected windows to the clipboard

Definition at line 470 of file GUIEditWindowManager.cpp.

◆ createClipboardDuplicate()

void GUIEditWindowManager::createClipboardDuplicate ( void )
protected

duplicate the clipboard on the dup list

Create a duplicate everything on the clipboard list and put it on the m_clipboardDup list for pasting

Definition at line 1412 of file GUIEditWindowManager.cpp.

◆ cutSelectedToClipboard()

void GUIEditWindowManager::cutSelectedToClipboard ( void )

cut selected windows to clipboard

Remove the selected windows from the current layout and put them into the clipboard. If the parent of a window is not being cut with the child the child will have no parent and will be adjusted to absolute screen coordinates with no parent

Definition at line 379 of file GUIEditWindowManager.cpp.

◆ duplicateSelected()

void GUIEditWindowManager::duplicateSelected ( GameWindow * root)

dupe the selected windows into the clipboard

Given the current window in a list pointed to by 'root', if that window is selected, duplicate it and place it on the clipboard. If it's not selected check it's children to see if any of them are selected and should be duplicated. Then just move on down the list and check the other sibling windows as well

Definition at line 407 of file GUIEditWindowManager.cpp.

◆ duplicateWindow()

GameWindow * GUIEditWindowManager::duplicateWindow ( GameWindow * source,
GameWindow * parent )
protected

dupe a window and its children

selected windows that are children will cut loose their parents and become adults (their parent will be NULL, otherwise the screen)

Duplciate a window and all its children

Definition at line 785 of file GUIEditWindowManager.cpp.

◆ getClipboardDupeList()

GameWindow * GUIEditWindowManager::getClipboardDupeList ( void )
inline

get clipboard dupe list

Definition at line 113 of file GUIEditWindowManager.h.

◆ getClipboardList()

GameWindow * GUIEditWindowManager::getClipboardList ( void )
inline

get the clipboard list

Definition at line 112 of file GUIEditWindowManager.h.

◆ incrementName()

void GUIEditWindowManager::incrementName ( GameWindow * window)

make a new unique name

Take the string representation of the name of the window passed in, and add a number to it at the end. If there is already a number on it at the end, that number will be incremented

Definition at line 497 of file GUIEditWindowManager.cpp.

◆ init()

void GUIEditWindowManager::init ( void )
virtual

initialize system

initialize the system

Reimplemented from W3DGameWindowManager.

Definition at line 249 of file GUIEditWindowManager.cpp.

◆ isClipboardEmpty()

Bool GUIEditWindowManager::isClipboardEmpty ( void )

is the clipboard empty

Is the clipboard empty

Definition at line 363 of file GUIEditWindowManager.cpp.

◆ isWindowInClipboard()

Bool GUIEditWindowManager::isWindowInClipboard ( GameWindow * window,
GameWindow ** list )
protected

validate window is part of the clipboard at the top level

Is the given widnow in the clipboard at the top level. NOTE that children are NOT included in this search

Definition at line 57 of file GUIEditWindowManager.cpp.

◆ linkToClipboard()

void GUIEditWindowManager::linkToClipboard ( GameWindow * window,
GameWindow ** list )
protected

add window to clipboard

Add the window to clipboard list

Definition at line 82 of file GUIEditWindowManager.cpp.

◆ makeChildOf()

void GUIEditWindowManager::makeChildOf ( GameWindow * target,
GameWindow * parent )

make target a child of the parent

Make the 'target' a child of the 'parent'

Definition at line 1445 of file GUIEditWindowManager.cpp.

◆ moveAheadOf()

void GUIEditWindowManager::moveAheadOf ( GameWindow * windowToMove,
GameWindow * aheadOf )

unlink the window to move and place it ahead of the target window in the master chain or the child chain

Move the 'windowToMove' to be just in front of the 'aheadOf' window in either the master window list or in the child list

Definition at line 1537 of file GUIEditWindowManager.cpp.

◆ pasteClipboard()

void GUIEditWindowManager::pasteClipboard ( void )

paste the contents of the clipboard

Paste the contents of the clipboard into the window world

Definition at line 664 of file GUIEditWindowManager.cpp.

◆ removeSupervisedChildSelections()

void GUIEditWindowManager::removeSupervisedChildSelections ( void )
protected

remove selected children from the select list that have a parent also in the select list

Remove selection entries for child windows that also have ANY of their parents in the selection list.

Definition at line 134 of file GUIEditWindowManager.cpp.

◆ resetClipboard()

void GUIEditWindowManager::resetClipboard ( void )

reset the clipboard to empty

Destroy all windows in the clipboard

Definition at line 322 of file GUIEditWindowManager.cpp.

◆ unlinkFromClipboard()

void GUIEditWindowManager::unlinkFromClipboard ( GameWindow * window,
GameWindow ** list )
protected

remove window from clipboard

Unlink window from the clipboard list

Definition at line 105 of file GUIEditWindowManager.cpp.

◆ validateClipboardNames()

void GUIEditWindowManager::validateClipboardNames ( GameWindow * root)

ensure unique names

Validate the names for all the windows and child windows in the copy buffer that they are unique and don't collide with any windows in the real system. This is in preparation for a paste of the copy buffer into the real working layout

Definition at line 605 of file GUIEditWindowManager.cpp.

◆ winCreate()

GameWindow * GUIEditWindowManager::winCreate ( GameWindow * parent,
UnsignedInt status,
Int x,
Int y,
Int width,
Int height,
GameWinSystemFunc system,
WinInstanceData * instData = NULL )
virtual

create a new window by setting up parameters and callbacks

Create a new window by setting up its parameters and callbacks.

Reimplemented from GameWindowManager.

Definition at line 288 of file GUIEditWindowManager.cpp.

◆ winDestroy()

Int GUIEditWindowManager::winDestroy ( GameWindow * window)
virtual

destroy this window

Destroy a game window

Reimplemented from GameWindowManager.

Definition at line 260 of file GUIEditWindowManager.cpp.

Member Data Documentation

◆ m_clipboard

GameWindow* GUIEditWindowManager::m_clipboard
protected

list of windows in the clipboard

Definition at line 103 of file GUIEditWindowManager.h.

◆ m_clipboardDup

GameWindow* GUIEditWindowManager::m_clipboardDup
protected

list duplicate of the clipboard used for pasting

Definition at line 104 of file GUIEditWindowManager.h.

◆ m_copySpacing

Int GUIEditWindowManager::m_copySpacing
protected

keeps multiple pastes from being on top of each other

Definition at line 106 of file GUIEditWindowManager.h.

◆ m_numCopiesPasted

Int GUIEditWindowManager::m_numCopiesPasted
protected

keeps multiple pastes from being on top of each other

Definition at line 107 of file GUIEditWindowManager.h.


The documentation for this class was generated from the following files: