From 3641264278f46fb4c0e0f7747c30f53d998baa8e Mon Sep 17 00:00:00 2001 From: Harco de Hilster Date: Sun, 7 Mar 1999 23:35:44 +0000 Subject: [PATCH] removed big-ass manual.html file from src dir. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- utils/framelayout/src/manual.html | 8302 ----------------------------- 1 file changed, 8302 deletions(-) delete mode 100644 utils/framelayout/src/manual.html diff --git a/utils/framelayout/src/manual.html b/utils/framelayout/src/manual.html deleted file mode 100644 index 7b2ea500e1..0000000000 --- a/utils/framelayout/src/manual.html +++ /dev/null @@ -1,8302 +0,0 @@ - - -

FrameLayout window-docking system (WDS) for wxWindows-2.0

- -(doc-v1.0.1, mailto:alex@soften.ktu.lt) - -

-1. Overview
-2. Main components
-3. Persistance framework
-4. Generated Source Code docs (useless)
-
-
-1. Overview
-===========
-
-Docking is a relatively new method of layouting GUI
-components. It allows user to customize his/her workplace
-by simply dragging around and resizing contents within 
-applications main window. These contents (further refered
-as control-bars) can be docked along top, bottom, left and
-right sides of the frame, positioning workplace's client area 
-window (e.g. current document) in the center of the frame.
-
-2. Main components.
-===================
-
-  * parent frame
-  * four docking panes
-  * control-bars
-  * client area
-
-  Parent frame is usually application's main window.
-  Frame-Layout system (FL) allows layout compnents
-  to be placed into any kind of window such as dialog, 
-  panel or modeless-frame.
-
-  Docking panes are rectangluar areas which surround the client
-  window along top, bottom, left and right edges. Control-bars
-  are docked into these panes.
-
-  Cotrol-bars are named so, because the usually embed common 
-  GUI controls such as toolbars, choices, text/tree controls.
-  Control-bars can be fixed-size or flexible. For the later 
-  ones FL automaticlly places resizing handles along those edges 
-  of flexible-bar, which actually can be moved, e.g. edge which 
-  is in touch with the client are will have handle to allow 
-  ajusting the client's area vs. pane's area.
-
-  Client area can be any provided window such as panel or MDI parent
-  window.  FL will resize and position this window to fit the free
-  space, which is not occupied by surrounding panes.
-
-  (the rest is "under construction" at the moment)
-
----------------------------------------------------------------------
-
-Persistance-Framework for wxWindows, 1998 (c) Aleksandras Gluchovas
-
-Contents
-========
-
- 1. Abstract
- 2. Extending wxWindows object system
- 3. Common scenario for making classes persistent
- 4. Kinds of persistent objects
- 5. PF behavior
- 6. Transient objects
- 7. Object versioning
- 8. Polymorphic persistence
- 9. Serializers for common wxWindows classes
-10. Class/Macro Reference
-
-1. Abstract
-===========
-
-  The persistence-framework (PF) aims to provide
-  an easier means of making C++ objects persistent.
-  It is solely specialized to store/load (i.e. serialize)
-  objects, but not to manipulate their data, therefore
-  it cannot act as a real object-database. This PF also could
-  be used for implementing undo-able operations on object-
-  systems (to some extent). It handles most common specialties 
-  of run-time data:
-
-    1) Not-storable (transient) objects
-    2) Differences in object structure among different builds
-    3) Not-data characteristics of objects - dynamic types
-       of class instances
-
-2. "Extending" wxWindows object system
-======================================
-
-  PF does not require any modification to existing 
-  not-persistent classes. It uses meta-information 
-  held in derivatives of wxObject for 
-  the purpose of RTTI, thus only the later
-  classes can be made persistent. Information
-  about class’s persistence is captured into
-  static structures, using similar techniques as
-  wxWindows system of dynamic-classes is implemented.
-
-3. Common scenario for making classes persistent
-================================================
-
-  1) For each persistent class, corresponding serializer-
-     class have to be written. Name for the serializer 
-     class contains class-name of the traget class
-     with "Serializer" appended at the end, e.g. for 
-     wxRect there would be wxRectSerializer. 
-
-  2) Two macros DECLARE_SERIALIZER_CLASS(..) and
-     IMPLEMENT_SERIALIZER_CLASS(..) have to be placed
-     into header and implementation files. These macros will
-     "inject" static data about serializer, so as to compose
-     a chain of run-time serializer information structures.
-   
-  3) Declare and implement methods for serialization and
-     initialization of the target-class (i.e. the 
-     one for which serializer is written). These
-     methods should be declared as static in the
-     serializer class, and pointers to them are
-     passed to IMPLEMENT_SERIALIZER_CLASS(..) macro
-     - to complete static information about serializer.
-
-  The above three steps accomplish the "declarative"
-  part of making object persistent. For actual storing/loading
-  of objects, instances of 'wxObjectStorage' and 
-  'wxDataStreamBase' derivative classes have to
-  be created. Then references to objects are 
-  iterativelly passed to corresponding 'Xchg...' 
-  methods of this 'wxObjectStorage' (further referred
-  as storage manager) to perform string/loding using 
-  the given byte-stream.
-
-  (note: the later approach is overly general,
-         thus in the future, improvements will be made
-         in order to provide some practical defaults)
-
-4. Kinds of persistent objects
-==============================
-
-  There are following data of C++ applications
-  can be made persistent:
-
-    1) basic types (int, double, etc)
-    2) classes/structures
-    3) pointers to objects, objects here
-       referred as instances of a class, i.e.
-       which can have "wx-run-time-information".
-    4) pointers to transient objects,
-       also referred as "initial references".
-
-5. PF behavior
-===============       
-
-  Basic types are stored in their binary
-  representation. Derivatives of 'wxDataStreamBase' 
-  may implement storing of basic-types in 
-  machine-independent format.
-
-  Serialization of classes proceeds with
-  storing of basic types, aggregated objects and
-  references (pointers really) to external 
-  objects. 
-
-  When reference to other object is encountered,
-  it is encoded in the form which does not 
-  depend on the current in-memory address of 
-  referred object, thus upon loading, 
-  it can be restored correctly. After
-  serializing reference, storage manager
-  immediately performs serialization of the
-  object which is referred. Technically, this
-  approach allows using streams which cannot
-  perform bi-directional read/write operations
-  - cannot 'seek', e.g. socket-streams.
-
-  It is not necessary to iterativelly pass
-  each persistent object to object storage
-  in order to serialize them. Usually run-time
-  object structures are "self-contained", i.e.
-  objects contain other objects or at least have
-  cross-references. Therefore it's enough to
-  serialize the "root" object in the system's
-  hierarchy, and all the referred objects
-  will be automatically serialized.
-
-6. Transient objects
-====================
-
-  The objects which are not intended to be
-  persistent are referred as transient.
-  To prevent serialization of such objects,
-  initial references (IRs) to them should be 
-  passed to the storage manager, before any  
-  loading/storing can proceed. The Order in 
-  which they are passed should be the same for loading 
-  and storing - since there is a 'sequence-number' for
-  each IR which is  generated when serializing the pointer 
-  which was identified as be an initial-reference 
-  (automatically recognized using hash-tables). 
-
-  Simple example of transient object could be a
-  printer object, to which other persistent 
-  objects may refer, but the printer itself 
-  cannot be serialized. Also in wx-frame-layout
-  system, a reference to application's frame window 
-  is registered as IR.
-
-7.Object versioning
-===================
-
-  NOTE:: implementation of versioning is prototypical -
-         not well tested yet.
-   
-  PF attempts to reduce the burden needed to program
-  support for loading/storing multiple versions
-  of persistant objects. 
-
-  The versioning of objects is not enforced by PF,
-  it is provided as additional possibility. 
-
-  For each distinct version of a class separate 
-  serializer have to be written. Implementing such
-  serializers is similar to the above described
-  not-versioned serializers impl., except that
-  different macros should be used - extended
-  with "FOR_VERSION" postfix, e.g.
-  IMPLEMENT_SERIALIZER_CLASS_FOR_VERSION(..) used instead
-  IMPLEMENT_SERIALIZER_CLASS(..), where the version name
-  string is additionally passed to the former macro.
-
-  Storage manager will store version information to the 
-  the output stream, and read it upon loading - to find 
-  matching serializer. An error (for now: exception) will 
-  occur when no matching serializer was found. 
-
-  When storing, serializer for the latest version of
-  object is used, following the assumption that usually
-  the newest object versions exist at run-time. Only
-  when staying in files they are "getting older", thus
-  it is possible to load older data into newer objects
-  (backwards-compatibility), but not to store newer objects
-  in the "old format".
-  
-8. "Polymorphic" persistence
-============================
-
-  This mechanism is meant for reducing number of serializers 
-  required to write for classes with the same base 
-  class and same persistent data that base class, 
-  but different behavior.
-
-  The "poliymorphic" persistence is enabled by default, 
-  allowing the storage manager to search for serializers 
-  of base classes, if the ones for the derived classes were
-  not found. 
-
-  This can by disabled by calling SetStrictMatching(TRUE), 
-  forcing the manager to abort serialization, if no 
-  serializer found, which match the object's class exactly.
-
-  This does not mean however, that instance of the 
-  base class is created even if no 'CLASSINFO' data for the 
-  derived class were found, in such cases the serialization 
-  will be aborted also, i.e. dynamic type of object should
-  be always restored preciselly.
-
-  Concrete example: having base class Employee, which has
-  info common to all employees. Other classes 'Secretary',
-  'Manager', etc are derivatives of 'Employee' and do not
-  contain any additional data members. Thus they only
-  specify different behavior and can be safely serialized
-  by 'EmployeeSerializer' class.
-
-  For wxWindows I've written serializer for wxWindow class, 
-  and it can be used to serialize generic wxPanel and other
-  derivtives of wxWindow which do not add any additional members.
-
-9. Serializers for common wxWindows objects
-==========================================
-
-  There may appear some difficulties to find out
-  for which classes serializers are already written
-  and for which aren't. because serializer is actually
-  a pair of static methods, which can reside (scattered) 
-  anywhere among implementation files. In future storage
-  manager will be modified to check for duplicated
-  serializers (only possible at run-time). Currently 
-  serializers the following common wxWindows classes 
-  are present:
-
-  wxNode (is serialized "in it's entirely"),
-  wxList, wxPoint, wxSize, wxRect, wxColour, wxPen,
-  wxBrush, wxEvtHandler, wxWindow, wxTextCtrl,
-  wxTreeCtrl (serializes structure and item states),
-  wxStaticText, wxScrollBar
-
-  Serializers for these classes are placed in objstore.cpp.
-  Serializers for other already-exiting wxWin classes could
-  be also placed into this file. For the new (future) 
-  wxWin classes which would have advantage of
-  being persistent, serializers could be placed into
-  their corresponding implementation files (.cpp).
-
-10. Class/Macro Reference
-=========================
-
-  >>>> UNDER CONSTRUCTION <<<<
-
-  for now, you may look at comments in the source 
-  code (headers especially), the sample and also
-  one "Real-World" example of "wx-frame-layout"
-  system, where serializers for various classes
-  are placed in cbstore.cpp and cbstore.h, serialization
-  is performed in MyFrame::SerializeMe(). 
-
---------------misc. notes, just in case...------------
-
-   When object does not need any extra
-   initialization after it is serialized.
-   In the case of loading, `Initialize()'
-   method can be omitted and `NO_CLASS_INIT'
-   constant passed instead of a pointer to the method.
-
-   Since wxString may be configured to be 
-   not-wxObject-derivative, extra method is
-   included:  wxObjectStorage::XchgWxStr(..)
-   to serialize "any-wxString".
-
-   The provided initialization functions are invoked
-   only after all objects (i.e. entire "network")
-   is loaded into memory, since sometimes initialization
-   of one object depend on existence of another.
-
-   "Recommended" that these two methods would 
-   be called `Serialize(..)' and `Initialize(..)'
-   respectively. They also should conform
-   to definitions of `wxObjectSerializationFn'
-   and `wxObjectInitializationFn'.
-
-   The body of initialization function (method)
-   usually contains invocations to given
-   instance of wxObjectStorage, for each
-   persistent member of the target class,
-   e.g. 
-
-     store.XchgLong( pRect->width  );
-   or
-     store.XchgObj( (wxObject*) pWnd->GetChildren() );     
-
-   Macro IMPLEMENT_SERIALIZER_FUNCTIONS(..) is not meant
-   for implementing static methods of serializer class,
-   instead it could be used when it is considered a 
-   better way to place serialization functions into global scope,
-   rather than in-serializer-class. These macros make
-   such approach possible.
-
-
-
- - - - -

Source Code Contents

-

- - -


-

Classes Reference

- - -


-

cbAntiflickerPlugin

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbAntiflickerPlugin::mpVertBuf

wxBitmap* mpVertBuf

double-buffers are shared "resource" among all instances of antiflicker plugin within the application

TODO:: locking should be implemented, for multithreaded GUIs

-
-


-

cbAntiflickerPlugin::mpLRUBufDc

wxDC* mpLRUBufDc

last-reacently-used buffer

-
-


-

cbAntiflickerPlugin::mLRUArea

wxRect mLRUArea

last-reacently-used area

-
-


-

cbAntiflickerPlugin::FindSuitableBuffer

wxDC* FindSuitableBuffer( const wxRect& forArea )

returns NULL, if sutable buffer is not present

-
-


-

cbAntiflickerPlugin::OnStartDrawInArea

void OnStartDrawInArea( cbStartDrawInAreaEvent& event )

handlers for plugin events

-
-


-

cbFloatedWindow

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

wxFrameView

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxFrameView::OnInit

void OnInit( )

hooks for specific frame-views

-
-


-

wxFrameView::OnRecreate

void OnRecreate( )

imp. is mandatory

-
-


-

wxFrameManager

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxFrameManager::Init

void Init( wxWindow* pMainFrame, const wxString& settingsFile = "" )

if file name is empty, views are are not saved/loaded

-
-


-

wxFrameManager::GetParentFrame

wxFrame* GetParentFrame( )

synonyms

-
-


-

wxToolLayoutItem

layout item

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

LayoutManagerBase

base class for layouting algorithm implementations

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

BagLayout

layouts items in left-to-right order from top towards bottom

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxDynToolInfo

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxDynamicToolBar

class manages containment and layouting of tool-windows

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxDynamicToolBar::mSepartorSize

int mSepartorSize

public properties

default: 8

-
-


-

wxDynamicToolBar::mVertGap

int mVertGap

default: 0

-
-


-

wxDynamicToolBar::mHorizGap

int mHorizGap

default: 0

-
-


-

wxDynamicToolBar::AddTool

void AddTool( int toolIndex, wxWindow* pToolWindow, const wxSize& size = wxDefaultSize )

overridables

-
-


-

wxDynamicToolBar::AddTool

wxToolBarTool* AddTool( const int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap, const bool toggle = FALSE, const long xPos = -1, const long yPos = -1, wxObject *clientData = NULL, const wxString& helpString1 = "", const wxString& helpString2 = "" )

method from wxToolBarBase (for compatibility), only first two arguments are valid

-
-


-

wxDynamicToolBar::DrawSeparator

void DrawSeparator( wxDynToolInfo& info, wxDC& dc )

the default implementation draws shaded line

-
-


-

wxDynamicToolBar::Layout

void Layout( )

see definitions of orientation types

-
-


-

wxDynamicToolBar::OnSize

void OnSize( wxSizeEvent& event )

event handlers

-
-


-

wxDynamicToolBar::Realize

bool Realize( )

overriden from wxToolBarBase

-
-


-

wxToolWindow

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxToolWindow::mButtons

cbMiniButtonArrayT mButtons

protected really, accesssed only by serializers *

-
-


-

wxToolWindow::mDragOrigin

wxPoint mDragOrigin

drag&drop state variables

-
-


-

wxToolWindow::AddMiniButton

void AddMiniButton( cbMiniButton* pBtn )

buttons are added in right-to-left order

-
-


-

wxToolWindow::GetPreferredSize

wxSize GetPreferredSize( const wxSize& given )

overridables:

-
-


-

cbMiniButton

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

cbCloseBox

classes specific to wxFrameLayout engine (FOR NOW in here...)

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbCollapseBox

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDockBox

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbFloatedBarWindow

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbFloatedBarWindow::PositionFloatedWnd

void PositionFloatedWnd( int scrX, int scrY, int width, int height )

given coordinates are those of the bar itself floated container window's position and size are ajusted accordingly

-
-


-

cbFloatedBarWindow::GetPreferredSize

wxSize GetPreferredSize( const wxSize& given )

overriden methods of wxToolWindow

-
-


-

MyApp

Define a new application type

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

MyFrame

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

wxTabbedWindow

class manages and decorates contained "tab"-windows. Draws decorations similar to those in "Project Workplace" of Microsoft Developer Studio 4.xx

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxTabbedWindow::GetLabelFont

wxFont GetLabelFont( )

overrride,to provide different font for tab-labels

-
-


-

wxTabbedWindow::mpTabScroll

wxScrollBar* mpTabScroll

FOR NOW:: scrollbars are actually related to wxPaggedWindow

-
-


-

wxTabbedWindow::mWhitePen

wxPen mWhitePen

public properties (invoke ReclaclLayout(TRUE) to apply changes)

default: RGB(255,255,255)

-
-


-

wxTabbedWindow::mGrayPen

wxPen mGrayPen

default: RGB(192,192,192)

-
-


-

wxTabbedWindow::mDarkPen

wxPen mDarkPen

default: RGB(128,128,128)

-
-


-

wxTabbedWindow::mBlackPen

wxPen mBlackPen

default: RGB( 0, 0, 0)

-
-


-

wxTabbedWindow::mVertGap

int mVertGap

default: 3

-
-


-

wxTabbedWindow::mHorizGap

int mHorizGap

default: 5

-
-


-

wxTabbedWindow::mTitleVertGap

int mTitleVertGap

default: 3

-
-


-

wxTabbedWindow::mTitleHorizGap

int mTitleHorizGap

default: 4

-
-


-

wxTabbedWindow::mImageTextGap

int mImageTextGap

default: 2

-
-


-

wxTabbedWindow::mFirstTitleGap

int mFirstTitleGap

default: 11

-
-


-

wxTabbedWindow::mBorderOnlyWidth

int mBorderOnlyWidth

default: 8

-
-


-

wxTabbedWindow::OnTabAdded

void OnTabAdded( twTabInfo* pInfo )

notifications (can be handled by derivatives)

-
-


-

wxTabbedWindow::AddTab

void AddTab( wxWindow* pContent, wxString tabText, wxString imageFileName = "", long imageType = wxBITMAP_TYPE_BMP )

tabs can be also added when the window is already displayed - "on the fly"

contained window

-
-


-

wxTabbedWindow::AddTab

void AddTab( wxWindow* pContent, wxString tabText, wxBitmap* pImage = NULL )

NOTE:: if this AddTab(..) overload is called, the image bitmap will not be serialized (if performed), use the above method instead, so that images could be restored using the given file names

-
-


-

wxTabbedWindow::GetTabCount

int GetTabCount( )

misc accessors

-
-


-

wxTabbedWindow::HitTest

int HitTest( const wxPoint& pos )

return -1, if non of the title bars was hitted, otherwise the index of the hitted tab title bar

-
-


-

wxTabbedWindow::RecalcLayout

void RecalcLayout( bool andRepaint = TRUE )

should be invoked to redisplay window with changed properties

-
-


-

wxTabbedWindow::OnPaint

void OnPaint( wxPaintEvent& event )

event handlers

-
-


-

wxPaggedWindow

class manages and decorates contained "sheets" (or pages). Draws decorations similar to those in "Output window" of Microsoft Developer Studio 4.xx

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxPaggedWindow::mIsDragged

bool mIsDragged

drag&drop state variables

-
-


-

wxPaggedWindow::OnTabAdded

void OnTabAdded( twTabInfo* pInfo )

adjusts scorllbars to fit around tabs

-
-


-

wxPaggedWindow::GetLabelFont

wxFont GetLabelFont( )

sets smaller font for page-labels

-
-


-

wxPaggedWindow::mTitleRowLen

int mTitleRowLen

actual title row length

-
-


-

wxPaggedWindow::mAdjustableTitleRowLen

int mAdjustableTitleRowLen

setup by dragging mini-sash

-
-


-

wxPaggedWindow::mCurentRowOfs

int mCurentRowOfs

with the mosue pointer

-
-


-

wxPaggedWindow::GetVerticalScrollBar

wxScrollBar& GetVerticalScrollBar( )

NOTE:: use public methods of the base class to add "pages" to this window

misc accessors

below two methods should be called after the tabs were added (AddTab(..)). Set up these scrollbars to match the needs of the tabs added into this area

-
-


-

wxPaggedWindow::HitTest

int HitTest( const wxPoint& pos )

return -1, if non of the title bars was hitted, otherwise the index of the hitted tab title bar

-
-


-

wxPaggedWindow::OnPaint

void OnPaint( wxPaintEvent& event )

event handlers

-
-


-

twTabInfo

helper structure of wxTabbedWindow

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

twTabInfo::mImageFile

wxString mImageFile

used for serialization

-
-


-

MyApp

Define a new application type

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

MyFrame

Define a new frame type

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

MyFrame::CreateTxtCtrl

wxTextCtrl* CreateTxtCtrl( const wxString& txt = "wxTextCtrl", wxWindow* parent = NULL )

helpers for control-creation

-
-


-

MyFrame::CreateDevLayout

wxWindow* CreateDevLayout( wxFrameLayout& layout, wxWindow* pParent )

helpers for layout-creation

-
-


-

MyFrame::MyFrame

MyFrame( wxFrame *frame, char *title, int x, int y, int w, int h )

public

-
-


-

MyFrame::OnClose

bool OnClose( )

event handlers

-
-


-

cbSimpleCustomizationPlugin

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbSimpleCustomizationPlugin::OnCustomizeBar

void OnCustomizeBar( cbCustomizeBarEvent& event )

plugin-event handlers

-
-


-

cbSimpleCustomizationPlugin::OnMenuItemSelected

void OnMenuItemSelected( wxCommandEvent& event )

menu-event handler

-
-


-

wxSerializerInfo

class conceptually simiar to wxClassInfo, execpt that it's static instances hold information about class-serializers rather then about the classes themselves.

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxSerializerInfo::classInfo

wxClassInfo* classInfo

link to corresponding class-info object,

-
-


-

wxSerializerInfo::serFn

wxObjectSerializationFn serFn

established upon invocation of InitializeSerializers()

-
-


-

wxSerializerInfo::serInfoHash

wxHashTable serInfoHash

classInfo <=> serializerInfo

-
-


-

wxSerializerInfo::SerializeInherited

void SerializeInherited( wxObject* pObj, wxObjectStorage& store )

looks up for serializers of the base classes (base1 and base2) of the given object invokes them if present

-
-


-

wxSerializerInfo::InitializeSerializers

void InitializeSerializers( )

static methods

-
-


-

wxSerializerBase

formal base class for all serializers, implemented as classes with static serialization/initialization methods

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

wxDataStreamBase

defines abstract inferface for data-stream objects, can be implemented as a wrapper class for already existing stream classes

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

wxObjectStorage

class provides stream-based persistance service for classes derivated from wxObject, which are declared as dynamic classes. Relies on the presence of appropriate serializers for objects, which are being stored/loaded.

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxObjectStorage::mVerSepartorCh

char mVerSepartorCh

can be changed (with countion!)

default: '#'

-
-


-

wxObjectStorage::mMinorMajorSepartorCh

char mMinorMajorSepartorCh

default: '-'

-
-


-

wxObjectStorage::AddInitialRef

void AddInitialRef( wxObject* pObjRef )

adds initial reference, objects referred by such reference are not serialized when storing. When loading, pointers which refere to these "inital objects" are set up to refere to objects provided in by AddInitailRef() method.

NOTE:: initial references should be added always in the same order, since the seq-# of the reference is used as an alias to the real object while storing/loading

-
-


-

wxObjectStorage::SetDataStream

void SetDataStream( wxDataStreamBase& stm )

init/reinit of object-storage

-
-


-

wxObjectStorage::Finalize

void Finalize( )

performs linkng of in-memory references after loading, or links in-stream references after storing has proceeded

-
-


-

wxObjectStorage::XchgChar

void XchgChar( char& chObj )

storage methods for basic types

-
-


-

wxObjectStorage::XchgObj

void XchgObj( wxObject* pWxObj )

storage methods for objects and pointers to objects

-
-


-

wxObjectStorage::XchgWxStr

void XchgWxStr( wxString& str )

storage methods for common wxWindows classes, which may or may not be dymaic, therefor use the below methods instead of XchgObj(..)

-
-


-

wxColourSerializer

The below classes provide "curde" serialization for most common wxWindows objects, i.e. they discard the information which may be contained in the subclassed versions of these classes However, more "fine-grainded" serializers could be written to match these subclasses exactly.

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxPenSerializer

NOTE:: currently "stipple" and "dashes" properties of the pen are not serialized

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxBrushSerializer

NOTE:: currently "stipple" property of the brush is not serialized

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxObjectListSerializer

serializer for wxList, assuming that the list holds derivatives of wxObject.

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxEvtHandlerSerializer

generic serializer for classes derived from wxEvtHandler handler, assuming that they do not add any new properties to wxEvtHandler or these properties are transient

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxWindowSerializer

serializer for generic wxWindow. Serializes position, size, id, reference to parent, list of children, style flags and name string. Could be used for serializing wxWindow and generic wxPanel objects. Separate serializers have to be written for control classes.

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxTextCtrlSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxButtonSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxStaticTextSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxScrollBarSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxTreeCtrlSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxIOStreamWrapper

default implementations of interfaces, used by wxObjectStorage class

FOR NOW:: methods do not yet perform byte-swaps for outputting/reading words in machine-independent format. Better solution would be to write wrapper around the "promissed" protable-data-stream class of wxWindows

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxIOStreamWrapper::mStreamPos

long mStreamPos

precalcualted stream postion,

-
-


-

wxIOStreamWrapper::Close

void Close( )

assuming that the actual stream object is not capable of telling postion of current get/put pointer (e.g. socket-stream)

-
-


-

wxIOStreamWrapper::wxIOStreamWrapper

wxIOStreamWrapper( )

default constructor

-
-


-

wxIOStreamWrapper::wxIOStreamWrapper

wxIOStreamWrapper( iostream& stm, bool forInput = TRUE )

attach this wrapper to already exiting iostream object

-
-


-

wxIOStreamWrapper::Create

bool Create( const char* fileName, bool forInput = TRUE )

creates "fstream" object with the given file name in binary mode, returns FALSE, if stream creation failed

The created fstream object is "owned" by this wrapper, thus it is destored during destruction of this object

-
-


-

wxIOStreamWrapper::Attach

void Attach( iostream& stm, bool forInput = TRUE )

the same as in the second constructor, previousely used stream object is flushed and destroyed (if owned). The attached stream is not "owned" by this wrapper object

-
-


-

GCItem

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

GCItem::mRefs

wxList mRefs

references to other nodes

-
-


-

GarbageCollector

class implements extreamly slow, but probably one of the most simple GC alogrithms

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

GarbageCollector::AddObject

void AddObject( void* pObj, int refCnt = 1 )

prepare data for GC alg.

-
-


-

GarbageCollector::ArrangeCollection

void ArrangeCollection( )

executes GC alg.

-
-


-

GarbageCollector::GetRegularObjects

wxList& GetRegularObjects( )

acces results of the alg.

-
-


-

GarbageCollector::Reset

void Reset( )

removes all date form GC

-
-


-

cbSimpleUpdatesMgr

class implements slightly optimized logic for refreshing areas of frame layout - which actually need to be updated.

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbSimpleUpdatesMgr::OnStartChanges

void OnStartChanges( )

notificiactions received from Frame Layout (in the order, in which they usually would be invoked)

-
-


-

cbSimpleUpdatesMgr::UpdateNow

void UpdateNow( )

refreshes parts of the frame layout, which need an update

-
-


-

wxFrameLayoutSerializer

serialziers for common components of frame-layout engine

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbBarSpySerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbBarDimHandlerBaseSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDimInfoSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbRowInfoSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbBarInfoSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbCommonPanePropertiesSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDockPaneSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbUpdatesManagerBaseSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbPluginBaseSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbRowDragPluginSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbHiddenBarInfoSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbFloatedBarWindowSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxNewBitmapButtonSerializer

serializers for some additional classes (FOR NOW:: also placed here) **

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxDynamicToolBarSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxDynToolInfoSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxTabbedWindowSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

twTabInfoSerializer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbBarSpy

FIXME:: somehow in debug v. originall wxASSERT's are not compiled in...

#undef wxASSERT #define wxASSERT(x) if ( !(x) ) throw;

helper class, used for spying for not-handled mouse events on control-bars and forwarding them to the frame layout

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbBarSpy::ProcessEvent

bool ProcessEvent( wxEvent& event )

overriden

-
-


-

wxFrameLayout

wxFrameLayout manages containment and docking of control bars. which can be docked along top, bottom, righ, or left side of the parent frame

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxFrameLayout::mpFrame

wxWindow* mpFrame

protected really, acessed only by plugins and serializers

parent frame

-
-


-

wxFrameLayout::mpFrameClient

wxWindow* mpFrameClient

client window

-
-


-

wxFrameLayout::mPanes[MAX_PANES]

cbDockPane* mPanes[MAX_PANES]

panes in the panel

-
-


-

wxFrameLayout::mpHorizCursor

wxCursor* mpHorizCursor

misc. cursors

-
-


-

wxFrameLayout::mpNECursor

wxCursor* mpNECursor

no-entry cursor

-
-


-

wxFrameLayout::mDarkPen

wxPen mDarkPen

pens for decoration and shades

default wxColour(128,128,128)

-
-


-

wxFrameLayout::mLightPen

wxPen mLightPen

default white

-
-


-

wxFrameLayout::mGrayPen

wxPen mGrayPen

default wxColour(192,192,192)

-
-


-

wxFrameLayout::mBlackPen

wxPen mBlackPen

default wxColour( 0, 0, 0)

-
-


-

wxFrameLayout::mBorderPen

wxPen mBorderPen

default wxColour(128,192,192)

-
-


-

wxFrameLayout::mNullPen

wxPen mNullPen

transparent pen

-
-


-

wxFrameLayout::mpPaneInFocus

cbDockPane* mpPaneInFocus

pane to which the all mouse input is currently directed (caputred)

-
-


-

wxFrameLayout::mpLRUPane

cbDockPane* mpLRUPane

pane, from which mouse pointer had just leaft

-
-


-

wxFrameLayout::mClntWndBounds

wxRect mClntWndBounds

bounds of client window in parent frame's coordinates

-
-


-

wxFrameLayout::mpTopPlugin

cbPluginBase* mpTopPlugin

current plugin (right-most) plugin which receives events first

-
-


-

wxFrameLayout::mpCaputesInput

cbPluginBase* mpCaputesInput

plugin, which currently has caputred all input events, otherwise NULL

-
-


-

wxFrameLayout::mBarSpyList

wxList mBarSpyList

list of event handlers which are "pushed" onto each bar, to catch mouse events which are not handled by bars, and froward them to the , frome-layout and further to plugins

-
-


-

wxFrameLayout::mFloatedFrames

wxList mFloatedFrames

list of top-most frames which contain floated bars

-
-


-

wxFrameLayout::mAllBars

BarArrayT mAllBars

linked list of references to all bars (docked/floated/hidden)

-
-


-

wxFrameLayout::mClientWndRefreshPending

bool mClientWndRefreshPending

FOR NOW:: dirty stuff...

-
-


-

wxFrameLayout::mpUpdatesMgr

cbUpdatesManagerBase* mpUpdatesMgr

protected really (accessed only by plugins)

refrence to custom updates manager

-
-


-

wxFrameLayout::PositionClientWindow

void PositionClientWindow( )

called to set calculated layout to window objects

-
-


-

wxFrameLayout::GetBarPane

cbDockPane* GetBarPane( cbBarInfo* pBar )

returns panes, to which the given bar belongs

-
-


-

wxFrameLayout::ForwardMouseEvent

void ForwardMouseEvent( wxMouseEvent& event, cbDockPane* pToPane, int eventType )

delegated from "bar-spy"

-
-


-

wxFrameLayout::CanReparent

bool CanReparent( )

NOTE:: reparenting of windows may NOT work on all platforms (reparenting allows control-bars to be floated)

-
-


-

wxFrameLayout::CreateUpdatesManager

cbUpdatesManagerBase* CreateUpdatesManager( )

factory method

-
-


-

wxFrameLayout::wxFrameLayout

wxFrameLayout( )

public members

used only while serializing

-
-


-

wxFrameLayout::~wxFrameLayout

~wxFrameLayout( )

(doesn't destory bar windows)

-
-


-

wxFrameLayout::EnableFloating

void EnableFloating( bool enable = TRUE )

(by default floating of control-bars is ON)

-
-


-

wxFrameLayout::Activate

void Activate( )

Can be called after some other layout has been deactivated, and this one must "take over" the current contents of frame window.

Effectivelly hooks itself to the frame window, re-displays all not-hidden bar-windows and repaints decorations

-
-


-

wxFrameLayout::Deactivate

void Deactivate( )

unhooks itself from frame window, and hides all not-hidden windows

NOTE:: two frame-layouts should not be active at the same time in the same frame window, it would cause messy overlapping of bar windows from both layouts

-
-


-

wxFrameLayout::HideBarWindows

void HideBarWindows( )

also hides the client window if presents

-
-


-

wxFrameLayout::SetFrameClient

void SetFrameClient( wxWindow* pFrameClient )

passes the client window (e.g. MDI-client frame) to be controled by frame layout, the size and position of which should be adjusted to be surrounded by controlbar panes, whenever frame is resized, or dimesnions of control panes change

-
-


-

wxFrameLayout::GetPanesArray

cbDockPane** GetPanesArray( )

used by updates-managers

-
-


-

wxFrameLayout::GetPane

cbDockPane* GetPane( int alignment )

see pane alignment types

-
-


-

wxFrameLayout::AddBar

void AddBar( wxWindow* pBarWnd, cbDimInfo& dimInfo, int alignment = wxTOP, int rowNo = 0, int columnPos = 0, const wxString& name = "bar", bool spyEvents = FALSE, int state = wxCBAR_DOCKED_HORIZONTALLY )

Adds bar information to frame-layout, appearence of layout is not refreshed immediatelly, RefreshNow() can be called if necessary.

NOTES:: argument pBarWnd can by NULL, resulting bar decorations to be drawn around the empty rectangle (filled with default background colour). Argument dimInfo, can be re-used for adding any number of bars, since it is not used directly, instead it's members are copied. If dimensions- handler is present, it's instance shared (reference counted). Dimension handler should always be allocated on the heap!)

-
-


-

wxFrameLayout::RedockBar

bool RedockBar( cbBarInfo* pBar, const wxRect& shapeInParent, cbDockPane* pToPane = NULL, bool updateNow = TRUE )

can be used for repositioning already existing bars. The given bar is first removed from the pane it currently belongs to, and inserted into the pane, which "matches" the given recantular area. If pToPane is not NULL, bar is docked to this given pane

to dock the bar which is floated, use wxFrameLayout::DockBar(..) method

-
-


-

wxFrameLayout::FindBarByName

cbBarInfo* FindBarByName( const wxString& name )

methods for access and modification of bars in frame layout

-
-


-

wxFrameLayout::SetBarState

void SetBarState( cbBarInfo* pBar, int newStatem, bool updateNow )

changes bar's docking state (see possible control bar states)

-
-


-

wxFrameLayout::ApplyBarProperties

void ApplyBarProperties( cbBarInfo* pBar )

reflects changes in bar information structure visually (e.g. moves bar, changes it's dimension info, pane to which it is docked)

-
-


-

wxFrameLayout::RemoveBar

void RemoveBar( cbBarInfo* pBar )

removes bar from layout permanently, hides it's corresponding window if present

-
-


-

wxFrameLayout::RecalcLayout

void RecalcLayout( bool repositionBarsNow = FALSE )

recalcualtes layout of panes, and all bars/rows in each pane

-
-


-

wxFrameLayout::GetUpdatesManager

cbUpdatesManagerBase& GetUpdatesManager( )

NOTE:: in future ubdates-manager will become a normal plugin

-
-


-

wxFrameLayout::SetUpdatesManager

void SetUpdatesManager( cbUpdatesManagerBase* pUMgr )

destroys the previous manager if any, set the new one

-
-


-

wxFrameLayout::GetPaneProperties

void GetPaneProperties( cbCommonPaneProperties& props, int alignment = wxTOP )

NOTE:: changing properties of panes, does not result immediate on-screen update

-
-


-

wxFrameLayout::SetMargins

void SetMargins( int top, int bottom, int left, int right, int paneMask = wxALL_PANES )

TODO:: margins should go into cbCommonPaneProperties in the future

NOTE:: this method should be called before any custom plugins are attached

-
-


-

wxFrameLayout::RefreshNow

void RefreshNow( bool recalcLayout = TRUE )

recalculates layoute and performs on-screen update of all panes

-
-


-

wxFrameLayout::OnSize

void OnSize( wxSizeEvent& event )

event handlers

-
-


-

wxFrameLayout::FirePluginEvent

void FirePluginEvent( cbPluginEvent& event )

plugin-related methods **

should be used, instead of passing the event to ProcessEvent(..) method of the top-plugin directly. This method checks if events are currently captured and ensures that plugin-event is routed correctly.

-
-


-

wxFrameLayout::CaptureEventsForPlugin

void CaptureEventsForPlugin( cbPluginBase* pPlugin )

captures/releases user-input event's for the given plugin Input events are: mouse movement, mouse clicks, keyboard input

-
-


-

wxFrameLayout::CaptureEventsForPane

void CaptureEventsForPane( cbDockPane* toPane )

called by plugins ( also captures/releases mouse in parent frame)

-
-


-

wxFrameLayout::GetTopPlugin

cbPluginBase& GetTopPlugin( )

returns current top-level plugin (the one which receives events first, with an exception if input-events are currently captured by some other plugin)

-
-


-

wxFrameLayout::SetTopPlugin

void SetTopPlugin( cbPluginBase* pPlugin )

hooking custom plugins to frame layout

NOTE:: when hooking one plugin on top of the other - use SetNextHandler(..) or similar methods of wxEvtHandler class to compose the chain of plugins, than pass the left-most handler in this chain to the above methods (assuming that events are delegated from left-most towards right-most handler)

NOTE2:: this secenario is very inconvenient and "low-level", use Add/Push/PopPlugin methods instead

-
-


-

wxFrameLayout::PushPlugin

void PushPlugin( cbPluginBase* pPugin )

similar to wxWindow's "push/pop-event-handler" methods, execept that plugin is *deleted* upon "popping"

-
-


-

wxFrameLayout::PushDefaultPlugins

void PushDefaultPlugins( )

default plugins are : cbPaneDrawPlugin, cbRowLayoutPlugin, cbBarDragPlugin, cbAntiflickerPlugin, cbSimpleCustomizePlugin

this method is automatically invoked, if no plugins were found upon fireing of the first plugin-event, i.e. wxFrameLayout *CONFIGURES* itself

-
-


-

wxFrameLayout::AddPlugin

void AddPlugin( wxClassInfo* pPlInfo, int paneMask = wxALL_PANES )

"Advanced" methods for plugin-configuration using their

dynamic class information (e.g. CLASSINFO(pluginClass) )

first checks if plugin of the given class is already "hooked up", if not, adds it to the top of plugins chain

-
-


-

wxFrameLayout::AddPluginBefore

void AddPluginBefore( wxClassInfo* pNextPlInfo, wxClassInfo* pPlInfo, int paneMask = wxALL_PANES )

first checks if plugin of the givne class already hooked, if so, removes it, and then inserts it to the chain before plugin of the class given by "pNextPlInfo"

NOTE:: this method is "handy" in some cases, where the order of plugin-chain could be important, e.g. one plugin overrides some functionallity of the other already hooked plugin, thefore the former should be hooked before the one who's functionality is being overriden

-
-


-

wxFrameLayout::RemovePlugin

void RemovePlugin( wxClassInfo* pPlInfo )

checks if plugin of the given class is hooked, removes it if found

@param pPlInfo class information structure for the plugin @note @see wxFrameLayout::Method

-
-


-

wxFrameLayout::FindPlugin

cbPluginBase* FindPlugin( wxClassInfo* pPlInfo )

returns NULL, if plugin of the given class is not hooked

-
-


-

cbUpdateMgrData

structure, which is present in each item of layout, it used by any specific updates-manager to store auxilary information to be used by it's specific updating algorithm

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbUpdateMgrData::mPrevBounds

wxRect mPrevBounds

previous state of layout item (in parent frame's coordinates)

-
-


-

cbUpdateMgrData::mIsDirty

bool mIsDirty

overrides result of current-against-previouse bounds comparison,

-
-


-

cbUpdateMgrData::mpCustomData

wxObject* mpCustomData

i.e. requires item to be updated, regardless of it's current area

any custom data stored by specific updates mgr.

-
-


-

cbUpdateMgrData::cbUpdateMgrData

cbUpdateMgrData( )

is-dirty flag is set TRUE initially

-
-


-

cbBarDimHandlerBase

Abstract inteface for bar-size handler classes. These objects receive notifications, whenever the docking state of the bar is changed, thus they have a possibility to adjust the values in cbDimInfo::mSizes accordingly. Specific handlers can be hooked to specific types of bars.

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbBarDimHandlerBase::mRefCount

int mRefCount

since one dim-handler can be asigned

-
-


-

cbBarDimHandlerBase::cbBarDimHandlerBase

cbBarDimHandlerBase( )

to multiple bars, it's instance is refernce-counted

inital refernce count is 0, since handler is not used, until the first invocation of AddRef()

-
-


-

cbBarDimHandlerBase::OnChangeBarState

void OnChangeBarState( cbBarInfo* pBar, int newState )

"bar-state-changes" notification

-
-


-

cbDimInfo

helper classes (used internally by wxFrameLayout class)

holds and manages information about bar demensions

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDimInfo::mSizes[MAX_BAR_STATES]

wxSize mSizes[MAX_BAR_STATES]

preferred sizes for each possible bar state

-
-


-

cbDimInfo::mBounds[MAX_BAR_STATES]

wxRect mBounds[MAX_BAR_STATES]

saved positions and sizes for each

-
-


-

cbDimInfo::mLRUPane

int mLRUPane

possible state, values contain (-1)s if not initialized yet

pane to which this bar was docked before it was floated

-
-


-

cbDimInfo::mVertGap

int mVertGap

(wxTOP,wxBOTTOM,..)

top/bottom gap, separates decorations from the bar's actual window, filled with frame's beckground color, default: 0

-
-


-

cbDimInfo::mHorizGap

int mHorizGap

left/right gap, separates decorations from the bar's actual window, filled with frame's beckground colour, default: 0

NOTE:: gaps are given in frame's coord. orientation

-
-


-

cbDimInfo::mIsFixed

bool mIsFixed

TRUE, if vertical/horizotal dimensions cannot be mannualy adjusted by user using resizing handles. If FALSE, the frame-layout *automatically* places resizing handles among not-fixed bars

-
-


-

cbDimInfo::mpHandler

cbBarDimHandlerBase* mpHandler

NULL, if no handler present

-
-


-

cbDimInfo::cbDimInfo

cbDimInfo( int dh_x, int dh_y, int dv_x, int dv_y, int f_x, int f_y, bool isFixed = TRUE, int horizGap = 6, int vertGap = 6, cbBarDimHandlerBase* pDimHandler = NULL )

dims when docked horizontally

-
-


-

cbDimInfo::~cbDimInfo

~cbDimInfo( )

destroys handler automatically, if present

-
-


-

cbRowInfo

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbRowInfo::mBars

BarArrayT mBars

row content

-
-


-

cbRowInfo::mHasUpperHandle

bool mHasUpperHandle

row flags (set up according to row-relations)

-
-


-

cbRowInfo::mBoundsInParent

wxRect mBoundsInParent

stores precalculated row's bounds in parent frame's coordinates

-
-


-

cbRowInfo::mUMgrData

cbUpdateMgrData mUMgrData

info stored for updates-manager

-
-


-

cbRowInfo::mpExpandedBar

cbBarInfo* mpExpandedBar

NULL, if non of the bars is currently expanded

-
-


-

cbRowInfo::mSavedRatios

cbArrayFloat mSavedRatios

length-ratios bofore some of the bars was expanded

-
-


-

cbRowInfo::GetFirstBar

cbBarInfo* GetFirstBar( )

convenience method

-
-


-

cbBarInfo

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbBarInfo::mName

wxString mName

textual name, by which this bar is refered in layout-costumization dialogs

-
-


-

cbBarInfo::mBounds

wxRect mBounds

stores bar's bounds in pane's coordinates

-
-


-

cbBarInfo::mBoundsInParent

wxRect mBoundsInParent

stores precalculated bar's bounds in parent frame's coordinates

-
-


-

cbBarInfo::mpRow

cbRowInfo* mpRow

back-ref to the row, which contains this bar

-
-


-

cbBarInfo::mHasLeftHandle

bool mHasLeftHandle

are set up according to the types of the surrounding bars in the row

-
-


-

cbBarInfo::mDimInfo

cbDimInfo mDimInfo

preferred sizes for each, control bar state

-
-


-

cbBarInfo::mState

int mState

(see definition of controlbar states)

-
-


-

cbBarInfo::mAlignment

int mAlignment

alignment of the pane to which this

-
-


-

cbBarInfo::mRowNo

int mRowNo

bar is currently placed

row, into which this bar would be placed,

-
-


-

cbBarInfo::mpBarWnd

wxWindow* mpBarWnd

when in the docking state

the actual window object, NULL if no window

-
-


-

cbBarInfo::mLenRatio

double mLenRatio

is attached to the control bar (possible!)

length ratio among not-fixed-size bars

-
-


-

cbBarInfo::mPosIfFloated

wxPoint mPosIfFloated

stored last position when bar was in "floated" state

-
-


-

cbBarInfo::mUMgrData

cbUpdateMgrData mUMgrData

poistion is stored in parent-window's coordinates

info stored for updates-manager

-
-


-

cbBarInfo::mpNext

cbBarInfo* mpNext

next. bar in the row

-
-


-

cbBarInfo::mpPrev

cbBarInfo* mpPrev

prev. bar in the row

-
-


-

cbBarShapeData

used for storing original bar's postions in the row, when the "non-destructive-friction" option is turned ON

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

wxBarIterator

used for traversing through all bars of all rows in the pane

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxBarIterator::Next

bool Next( )

TRUE, if next bar is available

-
-


-

wxBarIterator::RowInfo

cbRowInfo& RowInfo( )

returns reference to currently traversed row

-
-


-

cbCommonPaneProperties

structure holds configuration options, which are usually the same for all panes in frame layout

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbCommonPaneProperties::mRealTimeUpdatesOn

bool mRealTimeUpdatesOn

look-and-feel configuration

default: ON

-
-


-

cbCommonPaneProperties::mOutOfPaneDragOn

bool mOutOfPaneDragOn

default: ON

-
-


-

cbCommonPaneProperties::mExactDockPredictionOn

bool mExactDockPredictionOn

default: OFF

-
-


-

cbCommonPaneProperties::mNonDestructFirctionOn

bool mNonDestructFirctionOn

default: OFF

-
-


-

cbCommonPaneProperties::mShow3DPaneBorderOn

bool mShow3DPaneBorderOn

default: ON

-
-


-

cbCommonPaneProperties::mBarFloatingOn

bool mBarFloatingOn

FOR NOW:: the below properties are reserved for the "future"

default: OFF

-
-


-

cbCommonPaneProperties::mRowProportionsOn

bool mRowProportionsOn

default: OFF

-
-


-

cbCommonPaneProperties::mColProportionsOn

bool mColProportionsOn

default: ON

-
-


-

cbCommonPaneProperties::mBarCollapseIconsOn

bool mBarCollapseIconsOn

default: OFF

-
-


-

cbCommonPaneProperties::mBarDragHintsOn

bool mBarDragHintsOn

default: OFF

-
-


-

cbCommonPaneProperties::mMinCBarDim

wxSize mMinCBarDim

minimal dimensions for not-fixed bars in this pane (16x16 default)

-
-


-

cbCommonPaneProperties::mResizeHandleSize

int mResizeHandleSize

width/height of resizing sash

-
-


-

cbDockPane

class manages containment and control of control-bars along one of the four edges of the parent frame

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDockPane::mProps

cbCommonPaneProperties mProps

look-and-feel configuration for this pane

-
-


-

cbDockPane::mLeftMargin

int mLeftMargin

pane margins (in frame's coordinate-syst. orientation)

default: 2 pixels

-
-


-

cbDockPane::mRightMargin

int mRightMargin

default: 2 pixels

-
-


-

cbDockPane::mTopMargin

int mTopMargin

default: 2 pixels

-
-


-

cbDockPane::mBottomMargin

int mBottomMargin

default: 2 pixels

-
-


-

cbDockPane::mBoundsInParent

wxRect mBoundsInParent

position of the pane in frame's coordinates

-
-


-

cbDockPane::mPaneWidth

int mPaneWidth

pane width and height in pane's coordinates

-
-


-

cbDockPane::mUMgrData

cbUpdateMgrData mUMgrData

info stored for updates-manager

-
-


-

cbDockPane::mRows

RowArrayT mRows

protected really

-
-


-

cbDockPane::mpLayout

wxFrameLayout* mpLayout

back-ref

-
-


-

cbDockPane::mRowShapeData

wxList mRowShapeData

transient properties

shapes of bars of recently modified row,

-
-


-

cbDockPane::mpStoredRow

cbRowInfo* mpStoredRow

stored when in "non-destructive-firction" mode

row-info for which the shapes are stored

-
-


-

cbDockPane::GetRow

cbRowInfo* GetRow( int row )

protected really (accessed only by plugins)

-
-


-

cbDockPane::GetRowAt

int GetRowAt( int paneY )

return -1, if row is not present at given vertical position

-
-


-

cbDockPane::SyncRowFlags

void SyncRowFlags( cbRowInfo* pRow )

re-setups flags in the row-information structure, so that the would match the changed state of row-items correctly

-
-


-

cbDockPane::IsFixedSize

bool IsFixedSize( cbBarInfo* pInfo )

layout "AI" helpers:

-
-


-

cbDockPane::FrameToPane

void FrameToPane( long* x, long* y )

coordinate translation between parent's frame and this pane

-
-


-

cbDockPane::SetRowHeight

void SetRowHeight( cbRowInfo* pRow, int newHeight )

given row height includes height of row handles, if present

-
-


-

cbDockPane::PaintBarDecorations

void PaintBarDecorations( cbBarInfo* pBar, wxDC& dc )

protected really (accessed only by plugins)

methods for incramental on-screen refreshing of the pane (simply, they are wrappers around corresponding plugin-events)

-
-


-

cbDockPane::cbDockPane

cbDockPane( )

public members

-
-


-

cbDockPane::SetMargins

void SetMargins( int top, int bottom, int left, int right )

sets pane's margins in frame's coordinate orientations

-
-


-

cbDockPane::RemoveBar

void RemoveBar( cbBarInfo* pBar )

does not destroys the info bar , only removes it's reference from this pane

-
-


-

cbDockPane::InsertBar

void InsertBar( cbBarInfo* pBar, const wxRect& atRect )

rect given in the parent frame's coordinates

-
-


-

cbDockPane::InsertBar

void InsertBar( cbBarInfo* pBar, cbRowInfo* pIntoRow )

inserts bar into the given row, with dimensions and position stored in pBarInfo->mBounds. Returns the node of inserted bar

-
-


-

cbDockPane::InsertBar

void InsertBar( cbBarInfo* pBarInfo )

inserts bar, sets its position according to the preferred settings given in (*pBarInfo) structure

-
-


-

cbDockPane::RemoveRow

void RemoveRow( cbRowInfo* pRow )

does not destroy the row object, only removes the corresponding node from this pane

-
-


-

cbDockPane::InsertRow

void InsertRow( cbRowInfo* pRow, cbRowInfo* pBeforeRow )

does not refresh the inserted row immediatelly, if pBeforeRowNode arg. is NULL, row is appended to the end of pane's row list

-
-


-

cbDockPane::SetPaneWidth

void SetPaneWidth( int width )

sets pane's width in pane's coordinates (including margins)

-
-


-

cbDockPane::SetBoundsInParent

void SetBoundsInParent( const wxRect& rect )

set the position and dims. of the pane in parent frame's coordinates

-
-


-

cbDockPane::GetRowList

RowArrayT& GetRowList( )

used by upadates-managers

-
-


-

cbDockPane::GetFirstRow

cbRowInfo* GetFirstRow( )

convenience method

-
-


-

cbDockPane::BarPresent

bool BarPresent( cbBarInfo* pBar )

TRUE, if the given bar node presents in this pane

-
-


-

cbDockPane::GetPaneHeight

int GetPaneHeight( )

retuns height, in pane's coordinates

-
-


-

cbDockPane::HitTestPaneItems

int HitTestPaneItems( const wxPoint& pos, cbRowInfo** ppRow, cbBarInfo** ppBar )

returns result of hit-testing items in the pane, see CB_HITTEST_RESULTS enumeration

position in pane's coorinates

-
-


-

cbDockPane::DrawVertHandle

void DrawVertHandle( wxDC& dc, int x, int y, int height )

protected really (accessed only by plugins)

row/bar resizing related helper-methods

-
-


-

cbDockPane::GetRowShapeData

void GetRowShapeData( cbRowInfo* pRow, wxList* pLst )

cbBarShapeData objects will be placed to given pLst (see comments on cbBarShapeData)

-
-


-

cbDockPane::SetRowShapeData

void SetRowShapeData( cbRowInfo* pRowNode, wxList* pLst )

sets the shape to the given row, using the data provided in pLst

-
-


-

cbUpdatesManagerBase

class declares abstract interface for optimized logic, which should refresh areas of frame layout - that actually need to be updated. Should be extanded, to implemnet custom updating strategy

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbUpdatesManagerBase::mpLayout

wxFrameLayout* mpLayout

protected really, accessed by serializer (if any)

-
-


-

cbUpdatesManagerBase::OnStartChanges

void OnStartChanges( )

notificiactions received from frame-layout (in the order, in which they usually would be invoked). Custom updates-managers may utilize these notifications to implement more "fine-grained" updating strategy

-
-


-

cbUpdatesManagerBase::UpdateNow

void UpdateNow( )

refreshes parts of the frame layout, which need an update

-
-


-

cbPluginEvent

------------------------------------------------------------ "API" for developing custom plugins of Frame Layout Engine TODO:: documentation ------------------------------------------------------------

base class for all control-bar plugin events

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbPluginEvent::mpPane

cbDockPane* mpPane

NOTE:: plugin-event does not need to be a dynamic class

NULL, if event is not addressed to any specific pane

-
-


-

cbPluginEvent::cbPluginEvent

cbPluginEvent( int eventType, cbDockPane* pPane )

OLD STUFF:: // FOR NOW FOR NOW:: all-in-on plugin event structure wxNode* mpObjNode; wxNode* mpObjNodeAux; wxPoint mPos; wxSize mSize; wxDC* mpDC; bool mAuxBoolVal;

-
-


-

cbPluginBase

abstract base class for all control-bar related plugins

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbPluginBase::mpLayout

wxFrameLayout* mpLayout

back-reference to the frame layout

-
-


-

cbPluginBase::mIsReady

bool mIsReady

is TRUE, when plugin is ready to handle events

-
-


-

cbPluginBase::mPaneMask

int mPaneMask

specifies panes, for which this plugin receives events (see pane masks definitions)

-
-


-

cbPluginBase::~cbPluginBase

~cbPluginBase( )

NOTE:: pointer positions of mouse-events sent to plugins are always in pane's coordinates (pane's to which this plugin is hooked)

destroys the whole plugin chain of connected plagins

-
-


-

cbPluginBase::OnInitPlugin

void OnInitPlugin( )

override this method to do plugin-specific initialization (at this point plugin is already attached to the frame layout, and pane masks are set)

-
-


-

cbPluginBase::ProcessEvent

bool ProcessEvent( wxEvent& event )

overriden, to determine whether the target pane specified in the event, matches the pane mask of this plugin (specific plugins do not override this method)

-
-


-

cbLeftDownEvent

event classes, for each corresponding event type (24 currnetly...uhh) **

mouse-events category

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbLeftUpEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbRightDownEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbRightUpEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbMotionEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbLeftDClickEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbLayoutRowEvent

bar/row events category

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbResizeRowEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbLayoutRowsEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbInsertBarEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbResizeBarEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbRemoveBarEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbSizeBarWndEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDrawBarDecorEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDrawRowDecorEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDrawPaneDecorEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDrawBarHandlesEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDrawRowHandlesEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDrawRowBkGroundEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDrawPaneBkGroundEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbStartBarDraggingEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbStartBarDraggingEvent::mPos

wxPoint mPos

is given in frame's coordinates

-
-


-

cbDrawHintRectEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDrawHintRectEvent::mRect

wxRect mRect

is given in frame's coordinates

-
-


-

cbDrawHintRectEvent::mIsInClient

bool mIsInClient

in cleint area hint could be drawn differently,

-
-


-

cbDrawHintRectEvent::mEraseRect

bool mEraseRect

e.g. with fat/hatched border

does not have any impact, if recangle is drawn using XOR-mask

-
-


-

cbDrawHintRectEvent::mLastTime

bool mLastTime

indicates that this event finishes "session" of on-screen drawing,

-
-


-

cbDrawHintRectEvent::cbDrawHintRectEvent

cbDrawHintRectEvent( const wxRect& rect, bool isInClient, bool eraseRect, bool lastTime )

thus associated resources can be freed now

-
-


-

cbStartDrawInAreaEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbStartDrawInAreaEvent::mppDc

wxDC** mppDc

points to pointer, where the reference

-
-


-

cbStartDrawInAreaEvent::cbStartDrawInAreaEvent

cbStartDrawInAreaEvent( const wxRect& area, wxDC** ppDCForArea, cbDockPane* pPane )

to the obtained buffer-context should be placed

-
-


-

cbFinishDrawInAreaEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbCustomizeBarEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbCustomizeBarEvent::mClickPos

wxPoint mClickPos

in parent frame's coordinates

-
-


-

cbCustomizeLayoutEvent

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbCustomizeLayoutEvent::mClickPos

wxPoint mClickPos

in parent frame's coordinates

-
-


-

cbHintAnimationPlugin

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbHintAnimationPlugin::mpScrDc

wxScreenDC* mpScrDc

created while tracking hint-rect

-
-


-

cbHintAnimationPlugin::mCurRect

wxRect mCurRect

FOR NOW:: try it without mutually exculisve locks

-
-


-

cbHintAnimationPlugin::mAnimStarted

bool mAnimStarted

state variables

-
-


-

cbHintAnimationPlugin::mMorphDelay

int mMorphDelay

delay between frames in miliseconds, default: 20

-
-


-

cbHintAnimationPlugin::mMaxFrames

int mMaxFrames

number of iterations for hint morphing, default: 30

-
-


-

cbHintAnimationPlugin::mInClientHintBorder

int mInClientHintBorder

(morph duration = mMorphDelay * mMaxFrames msec)

default: 4 pixels

-
-


-

cbHintAnimationPlugin::mAccelerationOn

bool mAccelerationOn

TRUE, if morph accelerates, otherwise morph

-
-


-

cbHintAnimationPlugin::StartTracking

void StartTracking( )

speed is constant. Default: TRUE

TBD:: get/set methods for above members

-
-


-

MorphInfoT

helper classes

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

cbHintAnimTimer

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

cbBarDragPlugin

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbBarDragPlugin::mBarDragStarted

bool mBarDragStarted

plugin is active only in bar-dragging state

-
-


-

cbBarDragPlugin::mpScrDc

wxScreenDC* mpScrDc

created while tracking hint-rect

-
-


-

cbBarDragPlugin::mPrevHintRect

wxRect mPrevHintRect

rectnagle shows the position/dimensions of the bar, if it would be docked now

-
-


-

cbBarDragPlugin::mCanStick

bool mCanStick

flag used to prevent "bouncing" of hint-rectangle

-
-


-

cbBarDragPlugin::mpSrcPane

cbDockPane* mpSrcPane

pane, from which the bar was originally taken

-
-


-

cbBarDragPlugin::mpDraggedBar

cbBarInfo* mpDraggedBar

bar, which is being dragged

-
-


-

cbBarDragPlugin::mInClientHintBorder

int mInClientHintBorder

public properties **

when hint-rect moves within client window area,

-
-


-

cbBarDragPlugin::AdjustHintRect

void AdjustHintRect( wxPoint& mousePos )

the thicker rectangle is drawn using hatched brush, the default border width for this rectangle is 8 pix.

-
-


-

cbBarDragPlugin::StartTracking

void StartTracking( )

on-screen hint-tracking related methods

-
-


-

cbBarDragPlugin::OnMouseMove

void OnMouseMove( cbMotionEvent& event )

handlers for plugin events

-
-


-

cbBarDragPlugin::OnDrawHintRect

void OnDrawHintRect( cbDrawHintRectEvent& event )

handles event, which oriniates from itself

-
-


-

cbRowDragPlugin

Plugin adds row-dragging fuctionality to the pane. Handles mouse/movement and pane-background erasing plugin-events. Behaviour and appearence resembles drag & drop posotioning of the toolbar-rows int Netscape Comunicator 4.xx.

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbRowDragPlugin::mHightColor

wxColour mHightColor

background colours for the highlighted/unhighlighted icons

light-blue for NC-look

-
-


-

cbRowDragPlugin::mLowColor

wxColour mLowColor

light-gray -/-

-
-


-

cbRowDragPlugin::mTrianInnerColor

wxColour mTrianInnerColor

blue -/-

-
-


-

cbRowDragPlugin::mTrianInnerPen

wxPen mTrianInnerPen

black -/-

-
-


-

cbRowDragPlugin::mDragStarted

bool mDragStarted

drag & drop state variables

-
-


-

cbRowDragPlugin::mSvTopMargin

int mSvTopMargin

saved margins of the pane

-
-


-

cbRowDragPlugin::mpPaneImage

wxBitmap* mpPaneImage

on-screen drawing state variables

-
-


-

cbRowDragPlugin::mpRowInFocus

cbRowInfo* mpRowInFocus

NOTE:: if mpRowInFocus is not NULL, then mCollapsedIconInFocus is -1, and v.v. (two different items cannot be in focus at the same time)

-
-


-

cbRowDragPlugin::mpPane

cbDockPane* mpPane

is set up temorarely, while handling event

-
-


-

cbRowDragPlugin::GetHRowsCountForPane

int GetHRowsCountForPane( cbDockPane* pPane )

helpers for drag&drop

-
-


-

cbRowDragPlugin::DrawTrianUp

void DrawTrianUp( wxRect& inRect, wxDC& dc )

"hard-coded metafile" for NN-look

-
-


-

cbRowDragPlugin::OnMouseMove

void OnMouseMove( cbMotionEvent& event )

handlers for plugin events (appearence-independent logic)

-
-


-

cbRowDragPlugin::DrawCollapsedRowIcon

void DrawCollapsedRowIcon( int index, wxDC& dc, bool isHighlighted )

overridables (appearence-depedent)

-
-


-

cbHiddenBarInfo

internal helper-class

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

notStorableClass

forward decl.

sample classes

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

classA

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

classB

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- -
-


-

classASerializer

serialization handlers for the above classes

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

classBSerializer

cast

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbDynToolBarDimHandler

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbRowLayoutPlugin

Simple implementaiton of plugin, which handles row-layouting requests sent from Frame Layout

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbRowLayoutPlugin::mpPane

cbDockPane* mpPane

is set up temorarely, while handling event

-
-


-

cbRowLayoutPlugin::FitBarsToRange

void FitBarsToRange( int from, int till, cbBarInfo* pTheBar, cbRowInfo* pRow )

not-fixed-bars layouting related helpers

-
-


-

cbRowLayoutPlugin::CalcRowHeight

int CalcRowHeight( cbRowInfo& row )

row-layouting helpers (simulate "bar-friction")

-
-


-

cbRowLayoutPlugin::OnResizeRow

void OnResizeRow( cbResizeRowEvent& event )

event handlers

-
-


-

SettingsDlg

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

SettingsDlg::mpRTU_Check

wxCheckBox* mpRTU_Check

"nice thing" about wxWindows:

-
-


-

SettingsDlg::mRealTimeUpdatesOn

bool mRealTimeUpdatesOn

fields/properties

-
-


-

SettingsDlg::ExchgCheck

void ExchgCheck( wxCheckBox* pChk, bool& value )

helpers

-
-


-

cbBarHintsPlugin

Intercepts bar-decoration and sizing events, draws 3d-hints around fixed and flexible bars, similar to those in Microsoft DevStudio 6.x

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbBarHintsPlugin::mpPane

cbDockPane* mpPane

is set up temorarely, while handling event

-
-


-

cbBarHintsPlugin::Draw3DBox

void Draw3DBox( wxDC& dc, const wxPoint& pos, bool pressed )

drawing helpers

-
-


-

cbBarHintsPlugin::mCloseBoxOn

bool mCloseBoxOn

public properties

default: ON

-
-


-

cbBarHintsPlugin::mCollapseBoxOn

bool mCollapseBoxOn

default: ON

-
-


-

cbBarHintsPlugin::mGrooveCount

int mGrooveCount

default: 2 (two shaded bars)

-
-


-

cbBarHintsPlugin::mHintGap

int mHintGap

default: 5 (pixels from above, below, right and left)

-
-


-

cbBarHintsPlugin::mXWeight

int mXWeight

default: 2 (width in pixels of lines which used for drawing cross)

-
-


-

cbBarHintsPlugin::OnSizeBarWindow

void OnSizeBarWindow( cbSizeBarWndEvent& event )

handlers of plugin-events

-
-


-

wxNewBitmapButton

classes declared in this header file

alternative class for wxBmpButton

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

wxNewBitmapButton::mDepressedBmp

wxBitmap mDepressedBmp

source image for rendering

-
-


-

wxNewBitmapButton::mFocusedBmp

wxBitmap mFocusedBmp

labels for particular state

may not be always present -

-
-


-

wxNewBitmapButton::mpDepressedImg

wxBitmap* mpDepressedImg

only if mHasFocusedBmp is TRUE

-
-


-

wxNewBitmapButton::mDragStarted

bool mDragStarted

button state variables;

-
-


-

wxNewBitmapButton::mFiredEventType

int mFiredEventType

type of event which is fired upon depression of this button

-
-


-

wxNewBitmapButton::mBlackPen

wxPen mBlackPen

pens for drawing decorations (borders)

-
-


-

wxNewBitmapButton::GetStateLabel

wxBitmap* GetStateLabel( )

returns the label which match the current button state

-
-


-

wxNewBitmapButton::wxNewBitmapButton

wxNewBitmapButton( const wxString& bitmapFileName, const int bitmapFileType = wxBITMAP_TYPE_BMP, const wxString& labelText = "", int alignText = NB_ALIGN_TEXT_BOTTOM, bool isFlat = TRUE, int firedEventType = wxEVT_COMMAND_MENU_SELECTED, int marginX = 2, int marginY = 2, int textToLabelGap = 2, bool isSticky = FALSE )

use this constructor if buttons have to be persistant

-
-


-

wxNewBitmapButton::SetLabel

void SetLabel( const wxBitmap& labelBitmap, const wxString& labelText = "" )

overridables

-
-


-

wxNewBitmapButton::OnLButtonDown

void OnLButtonDown( wxMouseEvent& event )

event handlers

-
-


-

cbPaneDrawPlugin

Simple, but all-in-one plugin implementation. Resembles look & feel of to MFC control-bars. Handles painting of pane and items in it. Fires bar/layout customization event, when user right-clicks bar/pane. Hooking an instance of this and row-layouting plugins per each pane, would be enough for the frame layout to function properly. (they are plugged in autimatically by wxFrameLayout class)

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbPaneDrawPlugin::mResizeStarted

bool mResizeStarted

resizing bars/rows state variables

-
-


-

cbPaneDrawPlugin::mpDraggedBar

cbBarInfo* mpDraggedBar

also used when in bar-drag action

-
-


-

cbPaneDrawPlugin::mHandleDragArea

wxRect mHandleDragArea

contstraints for dragging the handle

-
-


-

cbPaneDrawPlugin::mpClntDc

wxClientDC* mpClntDc

used for handling, start-draw-in-area events

-
-


-

cbPaneDrawPlugin::mpPane

cbDockPane* mpPane

is set up temorary short-cut, while handling event

-
-


-

cbPaneDrawPlugin::DrawDraggedHandle

void DrawDraggedHandle( const wxPoint& pos, cbDockPane& pane )

helpers

-
-


-

cbPaneDrawPlugin::OnLButtonDown

void OnLButtonDown( cbLeftDownEvent& event )

handlers for plugin-events

-
-


-

cbGCUpdatesMgr

- class implements optimized logic for refreshing areas of frame layout - which actually need to be updated. Is used as default updates-manager by wxFrameLayout. it is called "Garbage Collecting" u.mgr for it's impelmentation tries to find out dependencies between bars, and to order them ito "hierarchy", this hierarchical sorting resembles impelmenation of heap-garbage collectors, which resolve dependencies between referencs. Example: there are situations where the order of moving the windows does matter: case 1) ------ --- | A | |B| ------ ---> | | --- --- ------ |B| | A | | | ------ --- (future) (past) past/future positions of A and B windows completely overlapp, i.e. depend on each other, and there is not solution for moving the windows witout refereshing both of them, -- we have cyclic dependency here. The gc. alg will find this cyclic dependecy and will force "refresh" after movement. case 2) ------ | A | ------ ---> --- |B| ------ | | | A | --- ------ --- |B| | | --- (future) (past) in this case past/future positions do not overlapp, thus it's enough only to move windows, without refreshing them. GC will "notice" it. there is also third case, when overlapping is partial in this case the refershing can be also avoided by moving windows in the order of "most-dependant" towards the "least-dependent". GC handles this automatically, by sorting windows by their dependency-level (or "hierarchy") See garbagec.h for more details of this method, garbagec.h/cpp implement sorting of generic-depenencies (does not deal with graphical objects directly) Summary: improves performance when complex/large windows are moved around, by reducing number of repaints. Also helps to avoid dirty non-client areas of moved windows in some sepcal cases of "overlapping anomalies" -

-

-Derived from -

- -

-Public members

-

-Operations -

- -

-Attributes -

- -

-Protected members

-

-Operations -

- -

-Attributes -

- -

-Private members

-

-Operations -

- -

-Attributes -

- - -


-

cbGCUpdatesMgr::OnStartChanges

void OnStartChanges( )

notificiactions received from Frame Layout :

-
-


-

cbGCUpdatesMgr::UpdateNow

void UpdateNow( )

refreshes parts of the frame layout, which need an update

-
-


-

Enumerations Reference

- - -


-

CB_HITTEST_RESULT

enum CB_HITTEST_RESULT
-{
-	CB_NO_ITEMS_HITTED,
-
-	CB_UPPER_ROW_HANDLE_HITTED,
-	CB_LOWER_ROW_HANDLE_HITTED,
-	CB_LEFT_BAR_HANDLE_HITTED,
-	CB_RIGHT_BAR_HANDLE_HITTED,
-	CB_BAR_CONTENT_HITTED
-}

enumeration of hittest results, see cbDockPane::HitTestPaneItems(..)

-
-


-

Type Definitions Reference

- - -


-

MyTestPanel

wxPanel
wxPanel MyTestPanel

FOR NOW::

-
-


-

wxObjectSerializationFn

void (*wxObjectSerializationFn) (wxObject*, wxObjectStorage& )
void (*wxObjectSerializationFn) (wxObject*, wxObjectStorage& ) wxObjectSerializationFn

abstract classes declared

classes which implement the above interfaces

prototypes for serialzatoin/initialization functions

-
-


-

wndCreationFn

(*wndCreationFn)(wxWindow*, wxWindow*, const wxWindowID, 
-							 const wxPoint&, const wxSize&, long, const wxString&  )
(*wndCreationFn)(wxWindow*, wxWindow*, const wxWindowID, - const wxPoint&, const wxSize&, long, const wxString& ) wndCreationFn

helpers, to ease the creation of serializers for derivatives of wxWindow

-
-


-

BarInfoPtrT

cbBarInfo*
cbBarInfo* BarInfoPtrT

forward declarations

-
-


-

wxEvtHandler::*cbLeftDownHandler

void (wxEvtHandler::*cbLeftDownHandler        )(cbLeftDownEvent&)
void (wxEvtHandler::*cbLeftDownHandler )(cbLeftDownEvent&) wxEvtHandler::*cbLeftDownHandler

forward decls, separated by categories

defs. for handler-methods

-
-


-

Macros Reference

- - -


-

LO_HORIZONTAL

#define LO_HORIZONTAL    0

layouting orientations for tools

-
-


-

BTN_BOX_HEIGHT

#define BTN_BOX_HEIGHT       12

fixed settings

-
-


-

wxTITLE_IMG_AND_TEXT

#define wxTITLE_IMG_AND_TEXT 0

layout types for title bars of the tabs (are selected up by evaluating the available free space )

forward decl.

-
-


-

MINIMAL_QUIT

#define MINIMAL_QUIT 	1

ID for the menu commands

-
-


-

DECLARE_SERIALIZER_CLASS

#define DECLARE_SERIALIZER_CLASS(serializerName) \
- public:\
-  static wxSerializerInfo info;;

macros for declaring and implementing serializers both as classes and as a pair of (serialize/init) functions

-
-


-

IMPLEMENT_SERIALIZER_CLASS_FOR_VERSION

#define IMPLEMENT_SERIALIZER_CLASS_FOR_VERSION( name, serializerName, serFn, initFn, versionName) \
-	wxSerializerInfo 													             \
-		serializerName::info( #name, serFn, initFn, #versionName );

for serializers, which are dedicated for specific versions of persistant classes (further referred as "versioned" serializers)

-
-


-

wxCBAR_DOCKED_HORIZONTALLY

#define wxCBAR_DOCKED_HORIZONTALLY 0

control bar states

-
-


-

MAX_BAR_STATES

#define MAX_BAR_STATES             4

the states are enumerated above

-
-


-

MAX_PANES

#define MAX_PANES      4

one pane for each alignment

-
-


-

wxTOP_PANE

#define wxTOP_PANE 	   0x0001

masks for each pane

-
-


-

cbEVT_PL_LEFT_DOWN

#define cbEVT_PL_LEFT_DOWN           0

event types handled by plugins

-
-


-

EVT_PL_LEFT_DOWN

#define EVT_PL_LEFT_DOWN(func)		     { cbEVT_PL_LEFT_DOWN,		     -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLeftDownHandler        ) & func },

macros for creating event table entries for plugin-events

-
-


-

NB_ALIGN_TEXT_RIGHT

#define NB_ALIGN_TEXT_RIGHT  0

button lable-text alignment types

-
-


-

Global Variables Reference

- - -


-

Global Functions Reference

- - -


-

wxCreateClassInfoTree

void wxCreateClassInfoTree( wxTreeCtrl* pTree, long parentBranchId = 0, long classImageNo = -1 )

creates tree with hierarchically cauptured information about wxWindows dynamic classes (at "current run-time")

existing tree control

-
-


-

wxCreateSerializerInfoTree

void wxCreateSerializerInfoTree( wxTreeCtrl* pTree, long parentBranchId = 0, long classImageNo = -1 )

creates tree with information about serializer-classes (at current run-time) NOTE:: "objstore.cpp" should be compiled in

existing tree control

-
-


-

test_obj_storage

void test_obj_storage( )

cast

---------------------------

Main testing function

---------------------------

include this header and .cpp file into any of your wxWindows projects, and invoke the below function to peform tests

-
-


-

Constants Reference

- -- 2.47.2