1. added code to dyntbar to allow bitmap loading from windows resources

2. modified fl_demo sample to use bitmaps in windows resource to allow
   run-from-anywhere behaviour under windows.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
J. Russell Smyth
1999-03-13 00:42:30 +00:00
parent 7cf8cb48f8
commit da9531bf35
5 changed files with 116 additions and 13 deletions

View File

@@ -22,6 +22,10 @@ trivial to adapt this for other systems that use a configure build.
YOU NEED TO RUN THE SAMPLES FROM THIS BITMAP DIR otherwise the binaries
can't find their pics and horrible things will ensue.
<03-12-99 Russell>
/samples/demo/fl_demo no longer needs to be run from the bitmap dir under
windows, it now uses windows resources.
-----------------------------------------------------------------------------
BUILDING
-----------------------------------------------------------------------------

View File

@@ -192,14 +192,26 @@ void StartButton95::OnPaint( wxPaintEvent& event )
if ( mPressed )
{
#ifdef __WXMSW__
if ( !mPBmp.Ok() )
mPBmp.LoadFile( "start95_pr_icon", wxBITMAP_TYPE_BMP_RESOURCE );
#else
if ( !mPBmp.Ok() && wxFileExists( "start95_pr.bmp" ) )
mPBmp.LoadFile( "start95_pr.bmp", wxBITMAP_TYPE_BMP );
#endif
pBmp = &mPBmp;
}
else
{
#ifdef __WXMSW__
if ( !mDBmp.Ok() )
mDBmp.LoadFile( "start95_dp_icon", wxBITMAP_TYPE_BMP_RESOURCE );
#endif
if ( !mDBmp.Ok() && wxFileExists( "start95_dp.bmp" ) )
mDBmp.LoadFile( "start95_dp.bmp", wxBITMAP_TYPE_BMP );
@@ -278,13 +290,16 @@ MyFrame::MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h)
// and use it as initial reference (IR)
wxBitmap bmp1,bmp2;
#ifdef __WXMSW__
bmp1.LoadFile( "folder_icon", wxBITMAP_TYPE_BMP_RESOURCE );
bmp2.LoadFile( "class_icon1", wxBITMAP_TYPE_BMP_RESOURCE );
#else
if ( wxFileExists( "folder_icon.bmp" ) )
bmp1.LoadFile( "folder_icon.bmp", wxBITMAP_TYPE_BMP );
if ( wxFileExists( "class_icon1.bmp" ) )
bmp2.LoadFile( "class_icon1.bmp", wxBITMAP_TYPE_BMP );
#endif
int idx1 = mImageList.Add( bmp1 );
int idx2 = mImageList.Add( bmp2 );
@@ -749,12 +764,45 @@ void MyFrame::AddSearchToolbars( wxFrameLayout& layout, wxWindow* pParent )
wxChoice* pChoice = new wxChoice( pTBar2, -1, wxDefaultPosition, wxSize( 140,25 ) );
pTBar2->AddTool( 1, pChoice );
#ifdef __WXMSW__
pTBar2->AddTool( 2, wxBitmap("search_icon") );
//pTBar2->AddSeparator();
pTBar2->AddTool( 3, wxBitmap("bookmarks_icon") );
pTBar2->AddTool( 4, wxBitmap("nextmark_icon") );
pTBar2->AddTool( 5, wxBitmap("prevmark_icon") );
wxDynamicToolBar* pTBar3 = new wxDynamicToolBar( mpInternalFrm, -1 );
pTBar3->AddTool( 1, wxBitmap("open_icon"), " Open " );
pTBar3->AddTool( 2, wxBitmap("save_icon"), " Save " );
pTBar3->AddTool( 3, wxBitmap("saveall_icon"), " Save All " );
//pTBar3->AddSeparator();
pTBar3->AddTool( 4, wxBitmap("cut_icon"), " Open " );
pTBar3->AddTool( 5, wxBitmap("copy_icon"), " Copy " );
pTBar3->AddTool( 6, wxBitmap("paste_icon")," Paste " );
pTBar3->EnableTool( 2, FALSE );
wxDynamicToolBar* pTBar4 = new wxDynamicToolBar( mpInternalFrm, -1 );
pTBar4->AddTool( 1, wxBitmap("bookmarks_icon"), "Bookmarks ", TRUE );
pTBar4->AddTool( 2, wxBitmap("nextmark_icon"), "Next bookmark ", TRUE );
pTBar4->AddTool( 3, wxBitmap("prevmark_icon"), "Prev bookmark ", TRUE );
//pTBar4->AddSeparator();
pTBar4->AddTool( 4, wxBitmap("search_icon"),"Search ", TRUE );
pTBar4->EnableTool( 4, FALSE );
#else
pTBar2->AddTool( 2, "search.bmp" );
//pTBar2->AddSeparator();
pTBar2->AddTool( 3, "bookmarks.bmp" );
pTBar2->AddTool( 4, "nextmark.bmp" );
pTBar2->AddTool( 5, "prevmark.bmp" );
wxDynamicToolBar* pTBar3 = new wxDynamicToolBar( mpInternalFrm, -1 );
pTBar3->AddTool( 1, "open.bmp", wxBITMAP_TYPE_BMP, " Open " );
@@ -765,10 +813,6 @@ void MyFrame::AddSearchToolbars( wxFrameLayout& layout, wxWindow* pParent )
pTBar3->AddTool( 5, "copy.bmp", wxBITMAP_TYPE_BMP, " Copy " );
pTBar3->AddTool( 6, "paste.bmp", wxBITMAP_TYPE_BMP, " Paste " );
#ifdef __WXMSW__
pTBar3->EnableTool( 2, FALSE );
#endif
wxDynamicToolBar* pTBar4 = new wxDynamicToolBar( mpInternalFrm, -1 );
pTBar4->AddTool( 1, "bookmarks.bmp", wxBITMAP_TYPE_BMP, "Bookmarks ", TRUE );
@@ -776,9 +820,6 @@ void MyFrame::AddSearchToolbars( wxFrameLayout& layout, wxWindow* pParent )
pTBar4->AddTool( 3, "prevmark.bmp", wxBITMAP_TYPE_BMP, "Prev bookmark ", TRUE );
//pTBar4->AddSeparator();
pTBar4->AddTool( 4, "search.bmp", wxBITMAP_TYPE_BMP, "Search ", TRUE );
#ifdef __WXMSW__
pTBar4->EnableTool( 4, FALSE );
#endif
layout.AddBar( pTBar2,
@@ -865,13 +906,22 @@ wxWindow* MyFrame::CreateDevLayout( wxFrameLayout& layout, wxWindow* pParent )
::wxCreateClassInfoTree( pClassView, cinfId, 1 );
::wxCreateSerializerInfoTree( pClassView, serId, 1 );
// (default arg anyway)
#ifdef __WXMSW__
// (default arg anyway)
pMiniTabArea->AddTab( pClassView, "ClassView", &wxBitmap("class_icon"));
pMiniTabArea->AddTab( new wxPanel(), "ResourceView",&wxBitmap("res_icon") );
pMiniTabArea->AddTab( new wxPanel(), "FileView", &wxBitmap("file_icon") );
pMiniTabArea->AddTab( new wxPanel(), "InfoView", &wxBitmap("help_icon") );
pMiniTabArea->AddTab( CreateTxtCtrl( helloworld_src,
pMiniTabArea), "HelloWorld", &wxBitmap("help_icon") );
#else
pMiniTabArea->AddTab( pClassView, "ClassView", "class_icon.bmp", wxBITMAP_TYPE_BMP );
pMiniTabArea->AddTab( new wxPanel(), "ResourceView","res_icon.bmp" );
pMiniTabArea->AddTab( new wxPanel(), "FileView", "file_icon.bmp" );
pMiniTabArea->AddTab( new wxPanel(), "InfoView", "help_icon.bmp" );
pMiniTabArea->AddTab( CreateTxtCtrl( helloworld_src,
pMiniTabArea), "HelloWorld", "help_icon.bmp" );
#endif
// now create "output" window
wxPaggedWindow* pTabbedArea = new wxPaggedWindow();
@@ -884,7 +934,7 @@ wxWindow* MyFrame::CreateDevLayout( wxFrameLayout& layout, wxWindow* pParent )
pTabbedArea->AddTab( CreateTxtCtrl("build", pTabbedArea), "Build", "" );
pTabbedArea->AddTab( CreateTxtCtrl("debug", pTabbedArea), "Debug", "" );
pTabbedArea->AddTab( pSheet3, "Find in Files!", "file_icon.bmp" );
pTabbedArea->AddTab( pSheet3, "Find in Files!", &wxBitmap("file_icon") );
pTabbedArea->AddTab( CreateTxtCtrl("profile", pTabbedArea), "Profile", "" );
layout.AddBar( new StartButton95(pParent), sizes5, wxTOP, 0, 0, "Start..." );
@@ -1008,7 +1058,15 @@ void MyFrame::DropInSomeBars( int layoutNo )
pToolBar->Create( mpInternalFrm, -1 );
// 1001-1006 ids of command events fired by added tool-buttons
#ifdef __WXMSW__
pToolBar->AddTool( 1001, wxBitmap("new_icon") );
pToolBar->AddTool( 1002, wxBitmap("open_icon") );
pToolBar->AddTool( 1003, wxBitmap("save_icon") );
pToolBar->AddTool( 1004, wxBitmap("cut_icon") );
pToolBar->AddTool( 1005, wxBitmap("copy_icon") );
pToolBar->AddTool( 1006, wxBitmap("paste_icon") );
#else
pToolBar->AddTool( 1001, "new.bmp" );
pToolBar->AddTool( 1002, "open.bmp" );
pToolBar->AddTool( 1003, "save.bmp" );
@@ -1016,7 +1074,7 @@ void MyFrame::DropInSomeBars( int layoutNo )
pToolBar->AddTool( 1004, "cut.bmp" );
pToolBar->AddTool( 1005, "copy.bmp" );
pToolBar->AddTool( 1006, "paste.bmp" );
#endif
layout.AddBar( pToolBar, // bar window (can be NULL)
sizes10, wxTOP, // alignment ( 0-top,1-bottom, etc)
0, // insert into 0th row (vert. position)

View File

@@ -1,2 +1,20 @@
#include "wx/msw/wx.rc"
start95_pr_icon BITMAP "../bitmaps/start95_pr.bmp"
start95_dp_icon BITMAP "../bitmaps/start95_dp.bmp"
folder_icon BITMAP "../bitmaps/folder_icon.bmp"
class_icon1 BITMAP "../bitmaps/class_icon1.bmp"
class_icon BITMAP "../bitmaps/class_icon.bmp"
res_icon BITMAP "../bitmaps/res_icon.bmp"
file_icon BITMAP "../bitmaps/file_icon.bmp"
help_icon BITMAP "../bitmaps/help_icon.bmp"
search_icon BITMAP "../bitmaps/search.bmp"
bookmarks_icon BITMAP "../bitmaps/bookmarks.bmp"
nextmark_icon BITMAP "../bitmaps/nextmark.bmp"
prevmark_icon BITMAP "../bitmaps/prevmark.bmp"
open_icon BITMAP "../bitmaps/open.bmp"
save_icon BITMAP "../bitmaps/save.bmp"
saveall_icon BITMAP "../bitmaps/saveall.bmp"
cut_icon BITMAP "../bitmaps/cut.bmp"
copy_icon BITMAP "../bitmaps/copy.bmp"
paste_icon BITMAP "../bitmaps/paste.bmp"

View File

@@ -145,6 +145,26 @@ void wxDynamicToolBar::AddTool( int toolIndex,
AddTool( toolIndex, pBtn );
}
void wxDynamicToolBar::AddTool( int toolIndex, wxBitmap labelBmp,
const wxString& labelText, bool alignTextRight,
bool isFlat )
{
wxNewBitmapButton* pBtn =
new wxNewBitmapButton( labelBmp,
labelText,
( alignTextRight )
? NB_ALIGN_TEXT_RIGHT
: NB_ALIGN_TEXT_BOTTOM,
isFlat
);
pBtn->Create( this, toolIndex );
pBtn->Reshape();
AddTool( toolIndex, pBtn );
}
wxToolBarTool*

View File

@@ -120,6 +120,9 @@ public:
int imageFileType = wxBITMAP_TYPE_BMP,
const wxString& labelText = "", bool alignTextRight = FALSE,
bool isFlat = TRUE );
virtual void AddTool( int toolIndex, wxBitmap labelBmp,
const wxString& labelText = "", bool alignTextRight = FALSE,
bool isFlat = TRUE );
// method from wxToolBarBase (for compatibility), only
// first two arguments are valid