fix for wxwidgets 2.9

This commit is contained in:
dickelbeck 2010-01-10 05:44:29 +00:00
parent d4bd033a8e
commit 6c737bc146
1 changed files with 25 additions and 20 deletions

View File

@ -129,14 +129,17 @@ struct LAYER_SPEC
*/
class LAYER_WIDGET : public LAYER_PANEL_BASE
{
#define MAX_LAYER_ROWS 64
#define LAYER_COLUMN_COUNT 4
protected:
wxBitmap* m_BlankBitmap;
wxBitmap* m_RightArrowBitmap;
wxSize m_BitmapSize;
wxStaticBitmap* m_Bitmaps[64];
int m_CurrentRow; ///< visual row of layer list
wxStaticBitmap* m_Bitmaps[MAX_LAYER_ROWS];
int m_CurrentRow; ///< selected row of layer list
#define LAYER_COLUMN_COUNT 4
/**
* Function makeColorButton
@ -221,7 +224,6 @@ protected:
printf("OnRightDownLayers\n");
}
/**
* Function getLayerComp
* returns the component within the m_LayersFlexGridSizer at aSizerNdx.
@ -253,14 +255,13 @@ protected:
return -1;
}
/**
* Function insertLayerRow
* appends or inserts a new row in the layer portion of the widget.
*/
void insertLayerRow( int aRow, const LAYER_SPEC& aSpec )
{
wxASSERT( aRow >= 0 );
wxASSERT( aRow >= 0 && aRow < MAX_LAYER_ROWS );
size_t index = aRow * LAYER_COLUMN_COUNT;
@ -272,24 +273,26 @@ protected:
m_Bitmaps[aRow] = new wxStaticBitmap( m_LayerScrolledWindow, aSpec.layer, *m_BlankBitmap,
wxDefaultPosition, m_BitmapSize );
m_Bitmaps[aRow]->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( LAYER_WIDGET::OnLeftDownLayers ), NULL, this );
m_LayersFlexGridSizer->Insert( index+0, m_Bitmaps[aRow], wxSizerFlags().Align( wxALIGN_CENTER_VERTICAL ) );
m_LayersFlexGridSizer->Insert( index+0,
new wxSizerItem( m_Bitmaps[aRow], wxSizerFlags().Align( wxALIGN_CENTER_VERTICAL ) ) );
// column 1
wxBitmapButton* bmb = makeColorButton( aSpec.colorIndex, aSpec.layer );
bmb->SetToolTip( _("Right click to change layer color, left click to select layer" ) );
m_LayersFlexGridSizer->Insert( index+1, bmb, flags );
m_LayersFlexGridSizer->Insert( index+1,
new wxSizerItem( bmb, flags ) );
// column 2
wxStaticText* st = new wxStaticText( m_LayerScrolledWindow, aSpec.layer, aSpec.layerName );
st->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( LAYER_WIDGET::OnLeftDownLayers ), NULL, this );
st->SetToolTip( _( "Click here to select this layer" ) );
m_LayersFlexGridSizer->Insert( index+2, st,
wxSizerFlags().Align( wxALIGN_CENTER_VERTICAL ) );
m_LayersFlexGridSizer->Insert( index+2,
new wxSizerItem( st, wxSizerFlags().Align( wxALIGN_CENTER_VERTICAL )) );
// column 3
wxCheckBox* cb = new wxCheckBox( m_LayerScrolledWindow, aSpec.layer, wxEmptyString );
cb->SetToolTip( _( "Enable this for visibility" ) );
m_LayersFlexGridSizer->Insert( index+3, cb, flags );
m_LayersFlexGridSizer->Insert( index+3, new wxSizerItem( cb, flags ) );
}
public:
@ -313,6 +316,10 @@ public:
AppendLayerRow( LAYER_SPEC( wxT("layer_4_you"), 3, BLUE ) );
SelectLayerRow( 1 );
Fit();
SetMinSize( GetSize() );
}
@ -362,7 +369,6 @@ public:
return false;
}
/**
* Function SelectLayer
* changes the row selection in the layer list to the given layer.
@ -373,6 +379,7 @@ public:
return SelectLayerRow( row );
}
//-----<abstract functions>-------------------------------------------
/**
* Function ColorChange
@ -387,17 +394,12 @@ public:
* will handle this accordingly, and can deny the change by returning false.
*/
virtual bool LayerChange( int aLayer ) = 0;
//-----</abstract functions>------------------------------------------
};
/**
* class LAYER_WIDGET : public wxPanel
* {
* };
*/
#if defined(STAND_ALONE)
/**
@ -408,6 +410,9 @@ public:
*/
class MYFRAME : public wxFrame
{
// example of how to derive from LAYER_WIDGET in order to provide the
// abstract methods.
class MYLAYERS : public LAYER_WIDGET
{
MYFRAME* frame;