Tidied/commented FL header files, regenerated docs and filled out Category section.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1,83 +1,90 @@
|
||||
%
|
||||
% automatically generated by HelpGen $Revision$ from
|
||||
% gcupdatesmgr.h at 05/Jan/02 22:50:57
|
||||
% gcupdatesmgr.h at 21/Jan/02 21:14:19
|
||||
%
|
||||
|
||||
|
||||
\section{\class{cbGCUpdatesMgr}}\label{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 implementation
|
||||
tries to find out dependencies between bars, and to order
|
||||
them ito "hierarchy", this hierarchical sorting resembles
|
||||
implemenation of heap-garbage collectors, which resolve
|
||||
dependencies between references.
|
||||
|
||||
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 refreshing 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-dependencies (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 special cases of "overlapping anomalies"
|
||||
|
||||
This class implements optimized logic for refreshing
|
||||
the areas of frame layout that actually need to be updated.
|
||||
It is used as the default updates manager by wxFrameLayout.
|
||||
|
||||
It is called 'Garbage Collecting' updates manager because
|
||||
its implementation tries to find out dependencies between bars,
|
||||
and to order them into a 'hierarchy'. This hierarchical sorting resembles
|
||||
the implementation of heap-garbage collectors, which resolve
|
||||
dependencies between references.
|
||||
|
||||
Example: there are situations where the order in which the user
|
||||
moves windows does matter.
|
||||
|
||||
\begin{verbatim}
|
||||
case 1)
|
||||
------ ---
|
||||
| A | |B|
|
||||
------ ---> | |
|
||||
--- --- ------
|
||||
|B| | A |
|
||||
| | ------
|
||||
---
|
||||
(future)
|
||||
(past)
|
||||
\end{verbatim}
|
||||
|
||||
Past/future positions of A and B windows completely overlap, i.e.
|
||||
depend on each other, and there is no solution for
|
||||
moving the windows without refreshing both of them
|
||||
-- we have a cyclic dependency here. The garbage collection algorithm will
|
||||
find this cyclic dependecy and will force refresh after movement.
|
||||
|
||||
\begin{verbatim}
|
||||
case 2)
|
||||
|
||||
------
|
||||
| A |
|
||||
------ --->
|
||||
---
|
||||
|B| ------
|
||||
| | | A |
|
||||
--- ------
|
||||
---
|
||||
|B|
|
||||
| |
|
||||
---
|
||||
|
||||
(future)
|
||||
(past)
|
||||
\end{verbatim}
|
||||
|
||||
In this case past/future positions do not overlap, so
|
||||
it is enough only to move windows without refreshing them.
|
||||
Garbage collection will 'notice' this.
|
||||
|
||||
There is also a third case, when overlapping is partial.
|
||||
In this case the refreshing can also be 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 dependencies and does not deal
|
||||
with graphical objects directly.
|
||||
|
||||
Summary: garbage collection improves performance when complex or large
|
||||
windows are moved around, by reducing the number of repaints. It also helps
|
||||
to avoid dirty non-client areas of moved windows
|
||||
in some special cases of 'overlapping anomalies'.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{cbSimpleUpdatesMgr}{cbsimpleupdatesmgr}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<gcupdatesmgr.h>
|
||||
|
||||
\wxheading{Data structures}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
@@ -87,30 +94,38 @@ class implements optimized logic for refreshing
|
||||
|
||||
\func{}{cbGCUpdatesMgr}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
|
||||
\func{}{cbGCUpdatesMgr}{\param{wxFrameLayout* }{pPanel}}
|
||||
|
||||
Constructor, taking a frame layout.
|
||||
|
||||
|
||||
\membersection{cbGCUpdatesMgr::AddItem}\label{cbgcupdatesmgradditem}
|
||||
|
||||
\func{void}{AddItem}{\param{wxList\& }{itemList}, \param{cbBarInfo* }{pBar}, \param{cbDockPane* }{pPane}, \param{wxRect\& }{curBounds}, \param{wxRect\& }{prevBounds}}
|
||||
|
||||
Internal function for repositioning items.
|
||||
|
||||
|
||||
\membersection{cbGCUpdatesMgr::DoRepositionItems}\label{cbgcupdatesmgrdorepositionitems}
|
||||
|
||||
\func{void}{DoRepositionItems}{\param{wxList\& }{items}}
|
||||
|
||||
Internal function for repositioning items.
|
||||
|
||||
|
||||
\membersection{cbGCUpdatesMgr::OnStartChanges}\label{cbgcupdatesmgronstartchanges}
|
||||
|
||||
\func{void}{OnStartChanges}{\void}
|
||||
|
||||
notificiactions received from Frame Layout :
|
||||
Receives notifications from the frame layout.
|
||||
|
||||
|
||||
\membersection{cbGCUpdatesMgr::UpdateNow}\label{cbgcupdatesmgrupdatenow}
|
||||
|
||||
\func{void}{UpdateNow}{\void}
|
||||
|
||||
refreshes parts of the frame layout, which need an update
|
||||
Refreshes the parts of the frame layout which need an update.
|
||||
|
||||
|
Reference in New Issue
Block a user