]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/fl/rowlayoutpl.h
Don't set insertion point if the text is the same in SetValue
[wxWidgets.git] / contrib / include / wx / fl / rowlayoutpl.h
index f44c74a9d8eb6c348bd2dbd537dc57f07d7f784e..5dca9e4b08d906fc117352a0c121edb3bb36112e 100644 (file)
 /////////////////////////////////////////////////////////////////////////////
-// Name:        No names yet.
-// Purpose:     Contrib. demo
+// Name:        rowlayoutpl.h
+// Purpose:     cbRowLayoutPlugin header.
 // Author:      Aleksandras Gluchovas
 // Modified by:
 // Created:     02/10/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Aleksandras Gluchovas
-// Licence:    wxWindows license
+// Licence:       wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __ROWLAYOUTPL_G__
 #define __ROWLAYOUTPL_G__
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "rowlayoutpl.h"
 #endif
 
 #include "wx/fl/controlbar.h"
 
 /*
- * Simple implementation of plugin, which handles row-layouting
- * requests sent from Frame Layout
- */
+Simple implementation of a plugin which handles row layout
+requests sent from a frame layout.
+*/
 
-class cbRowLayoutPlugin : public cbPluginBase
+class WXDLLIMPEXP_FL cbRowLayoutPlugin : public cbPluginBase
 {
-       DECLARE_DYNAMIC_CLASS( cbRowLayoutPlugin )
+    DECLARE_DYNAMIC_CLASS( cbRowLayoutPlugin )
 protected:
-       cbDockPane* mpPane; // is set up temorarely, while handling event
+    cbDockPane* mpPane; // is set up temporarily, while handling event
 protected:
 
-       // not-fixed-bars layouting related helpers
+        // Internal helper relating to not-fixed-bars layout.
+    void FitBarsToRange( int from, int till, cbBarInfo* pTheBar, cbRowInfo* pRow ); 
 
-       void FitBarsToRange( int from, int till, cbBarInfo* pTheBar, cbRowInfo* pRow ); 
-       void RelayoutNotFixedBarsAround( cbBarInfo* pTheBar, cbRowInfo* pRow ); 
-       void MinimzeNotFixedBars( cbRowInfo* pRow, cbBarInfo* pBarToPreserve );
-       int  GetRowFreeSpace( cbRowInfo* pRow );
-       
-       void RecalcLengthRatios( cbRowInfo* pRow );
-       void ApplyLengthRatios( cbRowInfo* pRow );
-       void ExpandNotFixedBars( cbRowInfo* pRow );
-       void AdjustLengthOfInserted( cbRowInfo* pRow, cbBarInfo* pTheBar );
+        // Internal helper relating to not-fixed-bars layout.
+    void RelayoutNotFixedBarsAround( cbBarInfo* pTheBar, cbRowInfo* pRow );
 
-       void DetectBarHandles( cbRowInfo* pRow );
-       void CheckIfAtTheBoundary( cbBarInfo* pTheBar, cbRowInfo& rowInfo );
+        // Internal helper relating to not-fixed-bars layout.
+    void MinimzeNotFixedBars( cbRowInfo* pRow, cbBarInfo* pBarToPreserve );
 
+        // Internal helper relating to not-fixed-bars layout.
+    int  GetRowFreeSpace( cbRowInfo* pRow );
 
-       // row-layouting helpers (simulate "bar-friction")
 
-       int  CalcRowHeight( cbRowInfo& row );
-       void LayoutItemsVertically( cbRowInfo& row );
+        // Internal helper relating to not-fixed-bars layout.
+    void RecalcLengthRatios( cbRowInfo* pRow );
 
-       void StickRightSideBars( cbBarInfo* pToBar );
+        // Internal helper relating to not-fixed-bars layout.
+    void ApplyLengthRatios( cbRowInfo* pRow );
 
-       void SlideLeftSideBars ( cbBarInfo* pTheBar );
-       void SlideRightSideBars( cbBarInfo* pTheBar );
+        // Internal helper relating to not-fixed-bars layout.
+    void ExpandNotFixedBars( cbRowInfo* pRow );
 
-       void ShiftLeftTrashold ( cbBarInfo* pTheBar, cbRowInfo& row );
-       void ShiftRightTrashold( cbBarInfo* pTheBar, cbRowInfo& row );
+        // Internal helper relating to not-fixed-bars layout.
+    void AdjustLengthOfInserted( cbRowInfo* pRow, cbBarInfo* pTheBar );
 
-       void InsertBefore( cbBarInfo* pBeforeBar, 
-                                          cbBarInfo* pTheBar,
-                                          cbRowInfo& row
-                                        );
 
-       void DoInsertBar( cbBarInfo* pTheBar, cbRowInfo& row );
+        // Internal helper relating to not-fixed-bars layout.
+    void DetectBarHandles( cbRowInfo* pRow );
+
+        // Internal helper relating to not-fixed-bars layout.
+    void CheckIfAtTheBoundary( cbBarInfo* pTheBar, cbRowInfo& rowInfo );
+
+
+        // Row layout helper simulating bar 'friction'.
+    int  CalcRowHeight( cbRowInfo& row );
+
+        // Row layout helper simulating bar 'friction'.
+    void LayoutItemsVertically( cbRowInfo& row );
+
+
+        // Row layout helper simulating bar 'friction'.
+    void StickRightSideBars( cbBarInfo* pToBar );
+
+
+        // Row layout helper simulating bar 'friction'.
+    void SlideLeftSideBars ( cbBarInfo* pTheBar );
+
+        // Row layout helper simulating bar 'friction'.
+    void SlideRightSideBars( cbBarInfo* pTheBar );
+
+
+        // Row layout helper simulating bar 'friction'.
+    void ShiftLeftTrashold ( cbBarInfo* pTheBar, cbRowInfo& row );
+
+        // Row layout helper simulating bar 'friction'.
+    void ShiftRightTrashold( cbBarInfo* pTheBar, cbRowInfo& row );
+
+
+        // Insert the bar before the given row.
+    void InsertBefore( cbBarInfo* pBeforeBar, 
+                       cbBarInfo* pTheBar,
+                       cbRowInfo& row
+                     );
+
+        // Insert the bar before the given row.
+    void DoInsertBar( cbBarInfo* pTheBar, cbRowInfo& row );
 
 public:
+        // Default constructor.
+    cbRowLayoutPlugin(void);
+
+        // Constructor taking frame layout pane and pane mask.
+    cbRowLayoutPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
+
+        // Responds to row resize event.
+    void OnResizeRow ( cbResizeRowEvent&  event );
 
-       cbRowLayoutPlugin(void);
+        // Responds to bar insertion event.
+    void OnInsertBar ( cbInsertBarEvent&  event );
 
-       cbRowLayoutPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
+        // Responds to bar removal event.
+    void OnRemoveBar ( cbRemoveBarEvent&  event );
 
-       // event handlers
+        // Responds to row layout event.
+    void OnLayoutRow ( cbLayoutRowEvent&  event );
 
-       void OnResizeRow ( cbResizeRowEvent&  event );
-       void OnInsertBar ( cbInsertBarEvent&  event );
-       void OnRemoveBar ( cbRemoveBarEvent&  event );
-       void OnLayoutRow ( cbLayoutRowEvent&  event );
-       void OnLayoutRows( cbLayoutRowsEvent& event );
+        // Responds to rows layout event.
+    void OnLayoutRows( cbLayoutRowsEvent& event );
 
-       DECLARE_EVENT_TABLE()
+    DECLARE_EVENT_TABLE()
 };
 
 #endif /* __ROWLAYOUTPL_G__ */