This patch allows FL to be build as a DLL with the VC project files, I was only able to at chief it with the VC projects because the make file for building libs doesn't have any rule to build DLLs (at least I didn't see how to do it). However the FL demo applications can be build using FL in DLL form with MSVC project files and VC make files (as mentioned before the FL DLL it self can only be build using VC projects). This patch includes 2 files; 1 to change current FL files to work in DLL form and 1 extra include file that needs to be added in the FL include directory. Small note: if you want to use FL as a DLL you need to use wxWin as a DLL. Thanks, Hans. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17618 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
127 lines
3.9 KiB
C++
127 lines
3.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: rowlayoutpl.h
|
|
// Purpose: cbRowLayoutPlugin header.
|
|
// Author: Aleksandras Gluchovas
|
|
// Modified by:
|
|
// Created: 02/10/98
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) Aleksandras Gluchovas
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __ROWLAYOUTPL_G__
|
|
#define __ROWLAYOUTPL_G__
|
|
|
|
#if defined(__GNUG__) && !defined(__APPLE__)
|
|
#pragma interface "rowlayoutpl.h"
|
|
#endif
|
|
|
|
#include "wx/fl/controlbar.h"
|
|
|
|
/*
|
|
Simple implementation of a plugin which handles row layout
|
|
requests sent from a frame layout.
|
|
*/
|
|
|
|
class WXFL_DECLSPEC cbRowLayoutPlugin : public cbPluginBase
|
|
{
|
|
DECLARE_DYNAMIC_CLASS( cbRowLayoutPlugin )
|
|
protected:
|
|
cbDockPane* mpPane; // is set up temporarily, while handling event
|
|
protected:
|
|
|
|
// Internal helper relating to not-fixed-bars layout.
|
|
void FitBarsToRange( int from, int till, cbBarInfo* pTheBar, cbRowInfo* pRow );
|
|
|
|
// Internal helper relating to not-fixed-bars layout.
|
|
void RelayoutNotFixedBarsAround( cbBarInfo* pTheBar, cbRowInfo* pRow );
|
|
|
|
// 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 );
|
|
|
|
|
|
// Internal helper relating to not-fixed-bars layout.
|
|
void RecalcLengthRatios( cbRowInfo* pRow );
|
|
|
|
// Internal helper relating to not-fixed-bars layout.
|
|
void ApplyLengthRatios( cbRowInfo* pRow );
|
|
|
|
// Internal helper relating to not-fixed-bars layout.
|
|
void ExpandNotFixedBars( cbRowInfo* pRow );
|
|
|
|
// Internal helper relating to not-fixed-bars layout.
|
|
void AdjustLengthOfInserted( cbRowInfo* pRow, cbBarInfo* pTheBar );
|
|
|
|
|
|
// 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 );
|
|
|
|
// Responds to bar insertion event.
|
|
void OnInsertBar ( cbInsertBarEvent& event );
|
|
|
|
// Responds to bar removal event.
|
|
void OnRemoveBar ( cbRemoveBarEvent& event );
|
|
|
|
// Responds to row layout event.
|
|
void OnLayoutRow ( cbLayoutRowEvent& event );
|
|
|
|
// Responds to rows layout event.
|
|
void OnLayoutRows( cbLayoutRowsEvent& event );
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#endif /* __ROWLAYOUTPL_G__ */
|
|
|