zipstrm link fix
added sizer.h/cpp which don't even compile yet git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
109
include/wx/sizer.h
Normal file
109
include/wx/sizer.h
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: sizer.h
|
||||||
|
// Purpose: provide wxSizer class for layounting
|
||||||
|
// Author: Robert Roebling and Robin Dunn
|
||||||
|
// Modified by:
|
||||||
|
// Created:
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Robin Dunn, Dirk Holtwick and Robert Roebling
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __WXSIZER_H__
|
||||||
|
#define __WXSIZER_H__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "sizer.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
|
||||||
|
#include "wx/window.h"
|
||||||
|
#include "wx/frame.h"
|
||||||
|
#include "wx/dialog.h"
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// classes
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class wxSizerItem;
|
||||||
|
class wxSizer;
|
||||||
|
class wxBoxSizer;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// wxSizerItem
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxSizerItem: wxObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// spacer
|
||||||
|
wxSizerItem( int width, int height, int option )
|
||||||
|
|
||||||
|
// window
|
||||||
|
wxSizerItem( wxWindow *window, int option );
|
||||||
|
|
||||||
|
// subsizer
|
||||||
|
wxSizerItem( wxSizer *sizer, int option );
|
||||||
|
|
||||||
|
virtual wxSize GetMinSize();
|
||||||
|
|
||||||
|
bool IsWindow();
|
||||||
|
bool IsSizer();
|
||||||
|
bool IsSpacer();
|
||||||
|
|
||||||
|
wxWindow *GetWindow() const
|
||||||
|
{ return m_window; }
|
||||||
|
wxSizer *GetSizer() const
|
||||||
|
{ return m_sizer; }
|
||||||
|
int GetOption() const
|
||||||
|
{ return m_option; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxWindow *m_window;
|
||||||
|
wxSizer *m_sizer;
|
||||||
|
wxSize m_minSize;
|
||||||
|
int m_option;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// wxSizer
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxSizer: wxObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxSizer()
|
||||||
|
~wxSizer()
|
||||||
|
|
||||||
|
virtual void Add( wxWindow *window, int option = 0 );
|
||||||
|
virtual void Add( wxSizer *sizer, int option = 0 );
|
||||||
|
virtual void Add( int width, int height, int option = 0 );
|
||||||
|
|
||||||
|
void SetDimension( int x, int y, int width, int height )
|
||||||
|
{ DoSetDimension( x, y, width, height ); }
|
||||||
|
|
||||||
|
wxSize GetSize()
|
||||||
|
{ return m_size; }
|
||||||
|
wxPoint GetPosition()
|
||||||
|
{ return m_position; }
|
||||||
|
wxSize GetMinSize()
|
||||||
|
{ return CalcMin(); }
|
||||||
|
|
||||||
|
virtual void RecalcSizes() = 0;
|
||||||
|
virtual wxSize CalcMin() = 0;
|
||||||
|
|
||||||
|
void Fit( wxWindow *window );
|
||||||
|
void SetSizeHints( wxWindow *window );
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxSize m_size;
|
||||||
|
wxPoint m_position;
|
||||||
|
wxList m_children;
|
||||||
|
|
||||||
|
wxSize GetMinWindowSize( wxWindow *window );
|
||||||
|
virtual void DoSetDimension( int x, int y, int width, int height );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __WXSIZER_H__
|
@@ -10,7 +10,7 @@
|
|||||||
#define __ZIPSTREAM_H__
|
#define __ZIPSTREAM_H__
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface
|
#pragma interface "zipstrm.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
|
132
src/common/sizer.cpp
Normal file
132
src/common/sizer.cpp
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: sizer.cpp
|
||||||
|
// Purpose: provide wxSizer class for layounting
|
||||||
|
// Author: Robert Roebling and Robin Dunn
|
||||||
|
// Modified by:
|
||||||
|
// Created:
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Robin Dunn, Dirk Holtwick and Robert Roebling
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __WXSIZERS_H__
|
||||||
|
#define __WXSIZERS_H__
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "sizers.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/sizer.h"
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// wxSizerItem
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
wxSizerItem::wxSizerItem( int width, int height, int option )
|
||||||
|
{
|
||||||
|
m_window = (wxWindow *) NULL;
|
||||||
|
m_sizer = (wxSizer *) NULL;
|
||||||
|
m_minSize.x = width;
|
||||||
|
m_minSize.h = height;
|
||||||
|
m_option = option;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSizerItem::wxSizerItem( wxWindow *window, int option )
|
||||||
|
{
|
||||||
|
m_window = window;
|
||||||
|
m_sizer = (wxSizer *) NULL;
|
||||||
|
m_minSize = window->GetSize();
|
||||||
|
m_option = option;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSizerItem::wxSizerItem( wxSizer *sizer, int option )
|
||||||
|
{
|
||||||
|
m_window = (wxWindow *) NULL;
|
||||||
|
m_sizer = sizer;
|
||||||
|
m_minSize.x = -1;
|
||||||
|
m_minSize.h = -1;
|
||||||
|
m_option = option;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSize wxSizerItem::GetMinSize()
|
||||||
|
{
|
||||||
|
if (IsSizer())
|
||||||
|
return m_sizer->GetMinSize();
|
||||||
|
else
|
||||||
|
return m_minSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxSizerItem::IsWindow()
|
||||||
|
{
|
||||||
|
return (m_window != NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxSizerItem::IsSizer()
|
||||||
|
{
|
||||||
|
return (m_sizer != NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxSizerItem::IsSpacer()
|
||||||
|
{
|
||||||
|
return (m_window == NULL) && (m_sizer == NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
// wxSizer
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
wxSizer::wxSizer()
|
||||||
|
{
|
||||||
|
m_children.DeleteContents( TRUE );
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSizer::~wxSizer()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSizer::Add( wxWindow *window, int option )
|
||||||
|
{
|
||||||
|
m_children.Append( new wxSizerItem( window, option ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSizer::Add( wxSizer *sizer, int option )
|
||||||
|
{
|
||||||
|
m_children.Append( new wxSizerItem( sizer, option ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSizer::Add( int width, int height, int option )
|
||||||
|
{
|
||||||
|
m_children.Append( new wxSizerItem( width, height, option ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSizer::Fit( wxWindow *window );
|
||||||
|
{
|
||||||
|
window->SetSize( GetMinWindowSize( window ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSizer::SetSizeHints( wxWindow *window );
|
||||||
|
{
|
||||||
|
wxSize size( GetMinWindowSize( window ) );
|
||||||
|
window->SetSizeHints( size.x, size.y );
|
||||||
|
}
|
||||||
|
|
||||||
|
wxSize wxSizer::GetMinWindowSize( wxWindow *window )
|
||||||
|
{
|
||||||
|
wxSize min( GetMinSize() );
|
||||||
|
wxSize size( window->GetSize() );
|
||||||
|
wxSize client_size( window->GetClientSize() );
|
||||||
|
return wxSize( min.x+size.x-client_size.x, min.y+size.y-client_size.y );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxSizer::DoSetDimension( int x, int y, int width, int height )
|
||||||
|
{
|
||||||
|
m_position.x = x;
|
||||||
|
m_position.y = y;
|
||||||
|
m_size.x = width;
|
||||||
|
m_size.y = height;
|
||||||
|
RecalcSizes();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __SIZERS_H__
|
@@ -7,7 +7,7 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma implementation "zipstream.h"
|
#pragma implementation "zipstrm.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// For compilers that support precompilation, includes "wx.h".
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
|
Reference in New Issue
Block a user