From: Ron Lee Date: Tue, 14 Mar 2000 19:17:41 +0000 (+0000) Subject: renamed minifram sample X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/14057bf4dc1e07742d46651a8930ad658fda46dd renamed minifram sample git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/samples/minifram/Makefile.in b/samples/minifram/Makefile.in index 3215c45402..3dd472ccfa 100644 --- a/samples/minifram/Makefile.in +++ b/samples/minifram/Makefile.in @@ -1,22 +1,13 @@ -# -# File: makefile.unx -# Author: Julian Smart -# Created: 1998 -# Updated: -# Copyright: (c) 1998 Julian Smart -# -# "%W% %G%" -# -# Makefile for toolbar example (UNIX). +# Purpose: makefile for minifram example (UNIX). +# Created: 2000-03-15 top_srcdir = @top_srcdir@/.. top_builddir = ../.. program_dir = samples/minifram -PROGRAM=test +PROGRAM=minifram OBJECTS=$(PROGRAM).o include ../../src/makeprog.env - diff --git a/samples/minifram/makefile.b32 b/samples/minifram/makefile.b32 index 95ddc80d76..7a3f0b7766 100644 --- a/samples/minifram/makefile.b32 +++ b/samples/minifram/makefile.b32 @@ -1,15 +1,9 @@ -# -# File: makefile.b32 -# Author: Julian Smart -# Created: 1999 -# Updated: -# Copyright: -# -# Makefile : Builds sample for 32-bit BC++ +# Purpose: makefile for minifram example (BC++ 32bit) +# Created: 2000-03-15 WXDIR = $(WXWIN) -TARGET=test +TARGET=minifram OBJECTS = $(TARGET).obj !include $(WXDIR)\src\makeprog.b32 diff --git a/samples/minifram/makefile.bcc b/samples/minifram/makefile.bcc index 669f01905a..1786694d10 100644 --- a/samples/minifram/makefile.bcc +++ b/samples/minifram/makefile.bcc @@ -1,10 +1,5 @@ -# -# File: makefile.bcc -# Author: Julian Smart -# Created: 1998 -# Updated: -# -# Builds a BC++ 16-bit sample +# Purpose: makefile for minifram example (BC++ 16bit) +# Created: 2000-03-15 !if "$(WXWIN)" == "" !error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx @@ -12,7 +7,7 @@ WXDIR = $(WXWIN) -TARGET=test +TARGET=minifram OBJECTS=$(TARGET).obj !include $(WXDIR)\src\makeprog.bcc diff --git a/samples/minifram/makefile.dos b/samples/minifram/makefile.dos index 13e3a4ce8e..3347434690 100644 --- a/samples/minifram/makefile.dos +++ b/samples/minifram/makefile.dos @@ -1,17 +1,10 @@ -# -# File: makefile.dos -# Author: Julian Smart -# Created: 1998 -# Updated: -# -# Makefile : Builds 16-bit sample, VC++ 1.5 -# Use FINAL=1 argument to nmake to build final version with no debugging -# info +# Purpose: makefile for minifram example (VC++ 1.5x) +# Created: 2000-03-15 WXDIR = $(WXWIN) -TARGET=test -OBJECTS = $(TARGET).obj +TARGET=minifram +OBJECTS=$(TARGET).obj !include $(WXDIR)\src\makeprog.msc diff --git a/samples/minifram/makefile.g95 b/samples/minifram/makefile.g95 index b4a920f047..413fb4a6b0 100644 --- a/samples/minifram/makefile.g95 +++ b/samples/minifram/makefile.g95 @@ -1,16 +1,10 @@ -# -# File: makefile.g95 -# Author: Julian Smart -# Created: 1999 -# Updated: -# Copyright: (c) Julian Smart, 1999 -# -# Makefile for wxWindows sample (Cygwin/Mingw32). +# Purpose: makefile for minifram example (Cygwin/Mingw32) +# Created: #03.01.00 WXDIR = ../.. -TARGET=test +TARGET=minifram OBJECTS = $(TARGET).o -include $(WXDIR)/src/makeprog.g95 +include $(WXDIR)\src\makeprog.g95 diff --git a/samples/minifram/makefile.sc b/samples/minifram/makefile.sc new file mode 100644 index 0000000000..2b60356177 --- /dev/null +++ b/samples/minifram/makefile.sc @@ -0,0 +1,37 @@ +# Purpose: makefile for minifram example (Symantec C++) +# Created: 2000-03-15 + +WXDIR = $(WXWIN) +WXLIB = $(WXDIR)\lib\wx.lib +INCDIR = $(WXDIR)\include +INCLUDE=$(INCDIR) +TARGET=minifram + +include $(WXDIR)\src\makesc.env + +minifram.exe: minifram.obj $(DEFFILE) minifram.res + *$(CC) $(LDFLAGS) -o$@ $** $(LIBS) + *$(RC) -k minifram.res + +sc32.def: + echo EXETYPE NT > sc32.def + echo SUBSYSTEM WINDOWS >> sc32.def + +sc16.def: + echo NAME $(TARGET) > sc16.def + echo EXETYPE WINDOWS >> sc16.def + echo STUB 'WINSTUB.EXE' >> sc16.def + echo CODE PRELOAD MOVEABLE DISCARDABLE >> sc16.def + echo DATA PRELOAD MOVEABLE MULTIPLE >> sc16.def + echo HEAPSIZE 1024 >> sc16.def + echo STACKSIZE 8192 >> sc16.def + +clean: + -del *.obj + -del *.exe + -del *.res + -del *.map + -del *.rws + -del sc32.def + -del sc16.def + diff --git a/samples/minifram/makefile.sl b/samples/minifram/makefile.sl new file mode 100644 index 0000000000..4121c4fc63 --- /dev/null +++ b/samples/minifram/makefile.sl @@ -0,0 +1,14 @@ +# Purpose: makefile for minifram example (Salford C++) +# Created: 2000-03-15 + +PROGRAM = minifram +OBJECTS = $(PROGRAM).obj + +include ..\..\src\makeprog.sl + +all: wx $(TARGET) + +wx: + cd $(WXDIR)\src\msw ^ mk32 -f makefile.sl all + cd $(WXDIR)\samples\minifram + diff --git a/samples/minifram/makefile.twn b/samples/minifram/makefile.twn new file mode 100644 index 0000000000..b6c967411b --- /dev/null +++ b/samples/minifram/makefile.twn @@ -0,0 +1,35 @@ +# Purpose: makefile for minifram example (TWIN) +# Created: 2000-03-15 + +WXDIR = ../.. + +# All common UNIX compiler flags and options are now in +# this central makefile. +include $(WXDIR)/src/maketwin.env + +OBJECTS = $(OBJDIR)/minifram.$(OBJSUFF) $(OBJDIR)/minifram.$(OBJSUFF) + +all: $(OBJDIR) minifram$(GUISUFFIX)$(EXESUFF) + +wx: + +$(OBJDIR): + mkdir $(OBJDIR) + +minifram$(GUISUFFIX)$(EXESUFF): $(OBJECTS) $(WXLIB) + $(CC) $(LDFLAGS) -o minifram$(GUISUFFIX)$(EXESUFF) $(OBJECTS) $(LDLIBS) + +$(OBJDIR)/minifram.$(OBJSUFF): minifram.$(SRCSUFF) + $(CC) -c $(CPPFLAGS) -o $@ minifram.$(SRCSUFF) + +minifram.c: minifram.rc + $(RESCOMP) $(RCINPUTSWITCH) minifram.rc $(RCOUTPUTSWITCH) minifram.c $(RESFLAGS) + +$(OBJDIR)/minifram.$(OBJSUFF): minifram.c + $(CC) -c $(CPPFLAGS) -o $@ minifram.c + +#$(OBJDIR)/minifram.o: minifram.rc +# $(RESCOMP) $(RCINPUTSWITCH) minifram.rc $(RCOUTPUTSWITCH) $(OBJDIR)/minifram.o $(RESFLAGS) + +clean: + rm -f $(OBJECTS) minifram$(GUISUFFIX).exe core *.rsc *.res diff --git a/samples/minifram/makefile.unx b/samples/minifram/makefile.unx index 21cab3c677..1dc2872c4d 100644 --- a/samples/minifram/makefile.unx +++ b/samples/minifram/makefile.unx @@ -1,21 +1,9 @@ -# -# File: Makefile for samples -# Author: Robert Roebling -# Created: 1999 -# Updated: -# Copyright: (c) 1998 Robert Roebling -# -# This makefile requires a Unix version of wxWindows -# to be installed on your system. This is most often -# done typing "make install" when using the complete -# sources of wxWindows or by installing the two -# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm -# under Linux. -# +# Purpose: makefile for minifram example (Unix) +# Created: 2000-03-15 CC = gcc -PROGRAM = test +PROGRAM = minifram OBJECTS = $(PROGRAM).o @@ -31,5 +19,5 @@ all: $(PROGRAM) $(PROGRAM): $(OBJECTS) $(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs` -clean: +clean: rm -f *.o $(PROGRAM) diff --git a/samples/minifram/makefile.vc b/samples/minifram/makefile.vc index 4ada748eda..14af470df7 100644 --- a/samples/minifram/makefile.vc +++ b/samples/minifram/makefile.vc @@ -1,17 +1,10 @@ -# -# File: makefile.vc -# Author: Julian Smart -# Created: 1999 -# Updated: -# Copyright: (c) Julian Smart -# -# Makefile : Builds sample (VC++, WIN32) -# Use FINAL=1 argument to nmake to build final version with no debug info. +# Purpose: makefile for minifram example (VC++ 32bit) +# Created: 2000-03-15 # Set WXDIR for your system WXDIR = $(WXWIN) -PROGRAM=test +PROGRAM=minifram OBJECTS = $(PROGRAM).obj !include $(WXDIR)\src\makeprog.vc diff --git a/samples/minifram/makefile.wat b/samples/minifram/makefile.wat index 81a83e42a9..68110112c2 100644 --- a/samples/minifram/makefile.wat +++ b/samples/minifram/makefile.wat @@ -1,13 +1,9 @@ -# -# Makefile for WATCOM -# -# Created by Julian Smart, January 1999 -# -# +# Purpose: makefile for minifram example (Watcom) +# Created: 2000-03-15 WXDIR = $(%WXWIN) -PROGRAM = test +PROGRAM = minifram OBJECTS = $(PROGRAM).obj !include $(WXDIR)\src\makeprog.wat diff --git a/samples/minifram/minifram.cpp b/samples/minifram/minifram.cpp new file mode 100644 index 0000000000..58ffabc023 --- /dev/null +++ b/samples/minifram/minifram.cpp @@ -0,0 +1,210 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: minifram.cpp +// Purpose: wxMiniFrame sample +// Author: Robert Roebling +// Modified by: +// Created: 04/01/98 +// RCS-ID: $Id$ +// Copyright: (c) Julian Smart and Robert Roebling +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP +#include "wx/wx.h" +#endif + +#include "wx/toolbar.h" +#include "minifram.h" + +#if defined(__WXGTK__) || defined(__WXMOTIF__) +#include "mondrian.xpm" +#include "bitmaps/new.xpm" +#include "bitmaps/open.xpm" +#include "bitmaps/save.xpm" +#include "bitmaps/copy.xpm" +#include "bitmaps/cut.xpm" +// #include "bitmaps/paste.xpm" +#include "bitmaps/print.xpm" +#include "bitmaps/preview.xpm" +#include "bitmaps/help.xpm" +#endif + +// start wxWindows + +IMPLEMENT_APP(MyApp) + +// globas + +MyMainFrame *main_frame = (MyMainFrame*) NULL; +MyMiniFrame *mini_frame = (MyMiniFrame*) NULL; +bool mini_frame_exists = FALSE; +wxButton *button = (wxButton*) NULL; + +// The `main program' equivalent, creating the windows and returning the +// main frame +bool MyApp::OnInit() +{ + // Create the main frame window + main_frame = new MyMainFrame((wxFrame *) NULL, -1, "wxFrame sample", + wxPoint(100, 100), wxSize(300, 200)); + + main_frame->CreateToolBar(wxNO_BORDER|wxTB_VERTICAL, ID_TOOLBAR); + InitToolbar(main_frame->GetToolBar()); + + button = new wxButton( main_frame, ID_REPARENT, "Press to reparent!" ); + + // Create the mini frame window + mini_frame = new MyMiniFrame( main_frame, -1, "wxMiniFrame sample", + wxPoint(100, 100), wxSize(220, 100)); + mini_frame_exists = TRUE; + + mini_frame->CreateToolBar(wxNO_BORDER|wxTB_HORIZONTAL|wxTB_FLAT, ID_TOOLBAR); + InitToolbar(mini_frame->GetToolBar()); + +#ifdef __WXMSW__ + main_frame->SetIcon(wxIcon("mondrian")); + mini_frame->SetIcon(wxIcon("mondrian")); +#else + main_frame->SetIcon( wxIcon(mondrian_xpm) ); + mini_frame->SetIcon( wxIcon(mondrian_xpm) ); +#endif + + SetTopWindow(main_frame); + + main_frame->Show(TRUE); + mini_frame->Show(TRUE); + + return TRUE; +} + +bool MyApp::InitToolbar(wxToolBar* toolBar) +{ + toolBar->SetMargins(5, 5); + + // Set up toolbar + wxBitmap* toolBarBitmaps[8]; + +#ifdef __WXMSW__ + toolBarBitmaps[0] = new wxBitmap("icon1"); + toolBarBitmaps[1] = new wxBitmap("icon2"); + toolBarBitmaps[2] = new wxBitmap("icon3"); + toolBarBitmaps[3] = new wxBitmap("icon4"); + toolBarBitmaps[4] = new wxBitmap("icon5"); + toolBarBitmaps[5] = new wxBitmap("icon6"); + toolBarBitmaps[6] = new wxBitmap("icon7"); + toolBarBitmaps[7] = new wxBitmap("icon8"); +#else + toolBarBitmaps[0] = new wxBitmap( new_xpm ); + toolBarBitmaps[1] = new wxBitmap( open_xpm ); + toolBarBitmaps[2] = new wxBitmap( save_xpm ); + toolBarBitmaps[3] = new wxBitmap( copy_xpm ); + toolBarBitmaps[4] = new wxBitmap( cut_xpm ); +// toolBarBitmaps[5] = new wxBitmap( paste_xpm ); + toolBarBitmaps[5] = new wxBitmap( preview_xpm ); + toolBarBitmaps[6] = new wxBitmap( print_xpm ); + toolBarBitmaps[7] = new wxBitmap( help_xpm ); +#endif + +#ifdef __WXMSW__ + int width = 24; +#else + int width = 16; +#endif + int currentX = 5; + + toolBar->AddTool(wxID_NEW, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "New file"); + currentX += width + 5; + toolBar->AddTool(wxID_OPEN, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Open file"); + currentX += width + 5; + toolBar->AddTool(wxID_SAVE, *(toolBarBitmaps[2]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Save file"); + currentX += width + 5; + toolBar->AddSeparator(); + toolBar->AddTool(wxID_COPY, *(toolBarBitmaps[3]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Copy"); + currentX += width + 5; + toolBar->AddTool(wxID_CUT, *(toolBarBitmaps[4]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Cut"); + currentX += width + 5; + toolBar->AddTool(wxID_PASTE, *(toolBarBitmaps[5]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Paste"); + currentX += width + 5; + toolBar->AddSeparator(); + toolBar->AddTool(wxID_PRINT, *(toolBarBitmaps[6]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Reparent the button"); + currentX += width + 5; + toolBar->AddSeparator(); + toolBar->AddTool(wxID_HELP, *(toolBarBitmaps[7]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Help"); + + toolBar->Realize(); + + toolBar->EnableTool( wxID_HELP, FALSE ); + + // Can delete the bitmaps since they're reference counted + int i; + for (i = 0; i < 8; i++) + delete toolBarBitmaps[i]; + + return TRUE; +} + +// MyMiniFrame + +BEGIN_EVENT_TABLE(MyMiniFrame, wxMiniFrame) + EVT_CLOSE ( MyMiniFrame::OnCloseWindow) + EVT_BUTTON (ID_REPARENT, MyMiniFrame::OnReparent) + EVT_MENU (wxID_PRINT, MyMiniFrame::OnReparent) +END_EVENT_TABLE() + +MyMiniFrame::MyMiniFrame(wxFrame* parent, wxWindowID id, const wxString& title, const wxPoint& pos, + const wxSize& size ) : + wxMiniFrame(parent, id, title, pos, size ) +{ +} + +void MyMiniFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) +{ + // make it known that the miniframe is no more + mini_frame_exists = FALSE; + Destroy(); +} + +void MyMiniFrame::OnReparent(wxCommandEvent& WXUNUSED(event)) +{ + button->Reparent( main_frame ); +} + +// MyMainFrame + +BEGIN_EVENT_TABLE(MyMainFrame, wxFrame) + EVT_CLOSE ( MyMainFrame::OnCloseWindow) + EVT_BUTTON (ID_REPARENT, MyMainFrame::OnReparent) + EVT_MENU (wxID_PRINT, MyMainFrame::OnReparent) +END_EVENT_TABLE() + +MyMainFrame::MyMainFrame(wxFrame* parent, wxWindowID id, const wxString& title, const wxPoint& pos, + const wxSize& size ) : + wxFrame(parent, id, title, pos, size ) +{ +} + +void MyMainFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) +{ + Destroy(); +} + +void MyMainFrame::OnReparent(wxCommandEvent& WXUNUSED(event)) +{ + // practical jokers might find satisfaction in reparenting the button + // after closing the mini_frame. We'll have the last laugh. + if (! mini_frame_exists) + wxMessageBox("The miniframe no longer exists.\n" + "You don't want to make this button an orphan, do you?", + "You got to be kidding"); + else + button->Reparent( mini_frame ); +} + + diff --git a/samples/minifram/minifram.def b/samples/minifram/minifram.def new file mode 100644 index 0000000000..99b33c82a5 --- /dev/null +++ b/samples/minifram/minifram.def @@ -0,0 +1,8 @@ +NAME Minifram +DESCRIPTION 'MiniFrame Sample' +EXETYPE WINDOWS +STUB 'WINSTUB.EXE' +CODE PRELOAD MOVEABLE DISCARDABLE +DATA PRELOAD MOVEABLE MULTIPLE +HEAPSIZE 1024 +STACKSIZE 8192 diff --git a/samples/minifram/minifram.h b/samples/minifram/minifram.h new file mode 100644 index 0000000000..d71035f3d5 --- /dev/null +++ b/samples/minifram/minifram.h @@ -0,0 +1,50 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: minifram.h +// Purpose: wxToolBar sample +// Author: Julian Smart +// Modified by: +// Created: 23/07/98 +// RCS-ID: $Id$ +// Copyright: (c) Julian Smart and Robert Roebling +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#include "wx/minifram.h" + +// Define a new application +class MyApp: public wxApp +{ + public: + bool OnInit(void); + bool InitToolbar(wxToolBar* toolBar); +}; + +// Define a new mini frame +class MyMiniFrame: public wxMiniFrame +{ +public: + MyMiniFrame(wxFrame *parent, wxWindowID id = -1, const wxString& title = "wxToolBar Sample", + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize ); + + void OnCloseWindow(wxCloseEvent& event); + void OnReparent(wxCommandEvent& event); + +DECLARE_EVENT_TABLE() +}; + +// Define a new frame +class MyMainFrame: public wxFrame +{ +public: + MyMainFrame(wxFrame *parent, wxWindowID id = -1, const wxString& title = "wxToolBar Sample", + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize ); + + void OnCloseWindow(wxCloseEvent& event); + void OnReparent(wxCommandEvent& event); + +DECLARE_EVENT_TABLE() +}; + +#define ID_TOOLBAR 500 +#define ID_REPARENT 501 + diff --git a/samples/minifram/minifram.rc b/samples/minifram/minifram.rc new file mode 100644 index 0000000000..6c9086d0c6 --- /dev/null +++ b/samples/minifram/minifram.rc @@ -0,0 +1,13 @@ +mondrian ICON "mondrian.ico" +#include "wx/msw/wx.rc" + +icon1 BITMAP "bitmaps/new.bmp" +icon2 BITMAP "bitmaps/open.bmp" +icon3 BITMAP "bitmaps/save.bmp" +icon4 BITMAP "bitmaps/copy.bmp" +icon5 BITMAP "bitmaps/cut.bmp" +icon6 BITMAP "bitmaps/paste.bmp" +icon7 BITMAP "bitmaps/print.bmp" + +icon8 BITMAP "bitmaps/help.bmp" + diff --git a/samples/minifram/test.cpp b/samples/minifram/test.cpp deleted file mode 100644 index 1906176c68..0000000000 --- a/samples/minifram/test.cpp +++ /dev/null @@ -1,210 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: test.cpp -// Purpose: wxMiniFrame sample -// Author: Robert Roebling -// Modified by: -// Created: 04/01/98 -// RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Robert Roebling -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// For compilers that support precompilation, includes "wx/wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ -#pragma hdrstop -#endif - -#ifndef WX_PRECOMP -#include "wx/wx.h" -#endif - -#include "wx/toolbar.h" -#include "test.h" - -#if defined(__WXGTK__) || defined(__WXMOTIF__) -#include "mondrian.xpm" -#include "bitmaps/new.xpm" -#include "bitmaps/open.xpm" -#include "bitmaps/save.xpm" -#include "bitmaps/copy.xpm" -#include "bitmaps/cut.xpm" -// #include "bitmaps/paste.xpm" -#include "bitmaps/print.xpm" -#include "bitmaps/preview.xpm" -#include "bitmaps/help.xpm" -#endif - -// start wxWindows - -IMPLEMENT_APP(MyApp) - -// globas - -MyMainFrame *main_frame = (MyMainFrame*) NULL; -MyMiniFrame *mini_frame = (MyMiniFrame*) NULL; -bool mini_frame_exists = FALSE; -wxButton *button = (wxButton*) NULL; - -// The `main program' equivalent, creating the windows and returning the -// main frame -bool MyApp::OnInit() -{ - // Create the main frame window - main_frame = new MyMainFrame((wxFrame *) NULL, -1, "wxFrame sample", - wxPoint(100, 100), wxSize(300, 200)); - - main_frame->CreateToolBar(wxNO_BORDER|wxTB_VERTICAL, ID_TOOLBAR); - InitToolbar(main_frame->GetToolBar()); - - button = new wxButton( main_frame, ID_REPARENT, "Press to reparent!" ); - - // Create the mini frame window - mini_frame = new MyMiniFrame( main_frame, -1, "wxMiniFrame sample", - wxPoint(100, 100), wxSize(220, 100)); - mini_frame_exists = TRUE; - - mini_frame->CreateToolBar(wxNO_BORDER|wxTB_HORIZONTAL|wxTB_FLAT, ID_TOOLBAR); - InitToolbar(mini_frame->GetToolBar()); - -#ifdef __WXMSW__ - main_frame->SetIcon(wxIcon("mondrian")); - mini_frame->SetIcon(wxIcon("mondrian")); -#else - main_frame->SetIcon( wxIcon(mondrian_xpm) ); - mini_frame->SetIcon( wxIcon(mondrian_xpm) ); -#endif - - SetTopWindow(main_frame); - - main_frame->Show(TRUE); - mini_frame->Show(TRUE); - - return TRUE; -} - -bool MyApp::InitToolbar(wxToolBar* toolBar) -{ - toolBar->SetMargins(5, 5); - - // Set up toolbar - wxBitmap* toolBarBitmaps[8]; - -#ifdef __WXMSW__ - toolBarBitmaps[0] = new wxBitmap("icon1"); - toolBarBitmaps[1] = new wxBitmap("icon2"); - toolBarBitmaps[2] = new wxBitmap("icon3"); - toolBarBitmaps[3] = new wxBitmap("icon4"); - toolBarBitmaps[4] = new wxBitmap("icon5"); - toolBarBitmaps[5] = new wxBitmap("icon6"); - toolBarBitmaps[6] = new wxBitmap("icon7"); - toolBarBitmaps[7] = new wxBitmap("icon8"); -#else - toolBarBitmaps[0] = new wxBitmap( new_xpm ); - toolBarBitmaps[1] = new wxBitmap( open_xpm ); - toolBarBitmaps[2] = new wxBitmap( save_xpm ); - toolBarBitmaps[3] = new wxBitmap( copy_xpm ); - toolBarBitmaps[4] = new wxBitmap( cut_xpm ); -// toolBarBitmaps[5] = new wxBitmap( paste_xpm ); - toolBarBitmaps[5] = new wxBitmap( preview_xpm ); - toolBarBitmaps[6] = new wxBitmap( print_xpm ); - toolBarBitmaps[7] = new wxBitmap( help_xpm ); -#endif - -#ifdef __WXMSW__ - int width = 24; -#else - int width = 16; -#endif - int currentX = 5; - - toolBar->AddTool(wxID_NEW, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "New file"); - currentX += width + 5; - toolBar->AddTool(wxID_OPEN, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Open file"); - currentX += width + 5; - toolBar->AddTool(wxID_SAVE, *(toolBarBitmaps[2]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Save file"); - currentX += width + 5; - toolBar->AddSeparator(); - toolBar->AddTool(wxID_COPY, *(toolBarBitmaps[3]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Copy"); - currentX += width + 5; - toolBar->AddTool(wxID_CUT, *(toolBarBitmaps[4]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Cut"); - currentX += width + 5; - toolBar->AddTool(wxID_PASTE, *(toolBarBitmaps[5]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Paste"); - currentX += width + 5; - toolBar->AddSeparator(); - toolBar->AddTool(wxID_PRINT, *(toolBarBitmaps[6]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Reparent the button"); - currentX += width + 5; - toolBar->AddSeparator(); - toolBar->AddTool(wxID_HELP, *(toolBarBitmaps[7]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Help"); - - toolBar->Realize(); - - toolBar->EnableTool( wxID_HELP, FALSE ); - - // Can delete the bitmaps since they're reference counted - int i; - for (i = 0; i < 8; i++) - delete toolBarBitmaps[i]; - - return TRUE; -} - -// MyMiniFrame - -BEGIN_EVENT_TABLE(MyMiniFrame, wxMiniFrame) - EVT_CLOSE ( MyMiniFrame::OnCloseWindow) - EVT_BUTTON (ID_REPARENT, MyMiniFrame::OnReparent) - EVT_MENU (wxID_PRINT, MyMiniFrame::OnReparent) -END_EVENT_TABLE() - -MyMiniFrame::MyMiniFrame(wxFrame* parent, wxWindowID id, const wxString& title, const wxPoint& pos, - const wxSize& size ) : - wxMiniFrame(parent, id, title, pos, size ) -{ -} - -void MyMiniFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) -{ - // make it known that the miniframe is no more - mini_frame_exists = FALSE; - Destroy(); -} - -void MyMiniFrame::OnReparent(wxCommandEvent& WXUNUSED(event)) -{ - button->Reparent( main_frame ); -} - -// MyMainFrame - -BEGIN_EVENT_TABLE(MyMainFrame, wxFrame) - EVT_CLOSE ( MyMainFrame::OnCloseWindow) - EVT_BUTTON (ID_REPARENT, MyMainFrame::OnReparent) - EVT_MENU (wxID_PRINT, MyMainFrame::OnReparent) -END_EVENT_TABLE() - -MyMainFrame::MyMainFrame(wxFrame* parent, wxWindowID id, const wxString& title, const wxPoint& pos, - const wxSize& size ) : - wxFrame(parent, id, title, pos, size ) -{ -} - -void MyMainFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) -{ - Destroy(); -} - -void MyMainFrame::OnReparent(wxCommandEvent& WXUNUSED(event)) -{ - // practical jokers might find satisfaction in reparenting the button - // after closing the mini_frame. We'll have the last laugh. - if (! mini_frame_exists) - wxMessageBox("The miniframe no longer exists.\n" - "You don't want to make this button an orphan, do you?", - "You got to be kidding"); - else - button->Reparent( mini_frame ); -} - - diff --git a/samples/minifram/test.def b/samples/minifram/test.def deleted file mode 100644 index 897b9dacbb..0000000000 --- a/samples/minifram/test.def +++ /dev/null @@ -1,8 +0,0 @@ -NAME ToolTest -DESCRIPTION 'wxToolBar Sample' -EXETYPE WINDOWS -STUB 'WINSTUB.EXE' -CODE PRELOAD MOVEABLE DISCARDABLE -DATA PRELOAD MOVEABLE MULTIPLE -HEAPSIZE 1024 -STACKSIZE 8192 diff --git a/samples/minifram/test.h b/samples/minifram/test.h deleted file mode 100644 index f228439556..0000000000 --- a/samples/minifram/test.h +++ /dev/null @@ -1,50 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: test.h -// Purpose: wxToolBar sample -// Author: Julian Smart -// Modified by: -// Created: 23/07/98 -// RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Robert Roebling -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -#include "wx/minifram.h" - -// Define a new application -class MyApp: public wxApp -{ - public: - bool OnInit(void); - bool InitToolbar(wxToolBar* toolBar); -}; - -// Define a new mini frame -class MyMiniFrame: public wxMiniFrame -{ -public: - MyMiniFrame(wxFrame *parent, wxWindowID id = -1, const wxString& title = "wxToolBar Sample", - const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize ); - - void OnCloseWindow(wxCloseEvent& event); - void OnReparent(wxCommandEvent& event); - -DECLARE_EVENT_TABLE() -}; - -// Define a new frame -class MyMainFrame: public wxFrame -{ -public: - MyMainFrame(wxFrame *parent, wxWindowID id = -1, const wxString& title = "wxToolBar Sample", - const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize ); - - void OnCloseWindow(wxCloseEvent& event); - void OnReparent(wxCommandEvent& event); - -DECLARE_EVENT_TABLE() -}; - -#define ID_TOOLBAR 500 -#define ID_REPARENT 501 - diff --git a/samples/minifram/test.rc b/samples/minifram/test.rc deleted file mode 100644 index 6c9086d0c6..0000000000 --- a/samples/minifram/test.rc +++ /dev/null @@ -1,13 +0,0 @@ -mondrian ICON "mondrian.ico" -#include "wx/msw/wx.rc" - -icon1 BITMAP "bitmaps/new.bmp" -icon2 BITMAP "bitmaps/open.bmp" -icon3 BITMAP "bitmaps/save.bmp" -icon4 BITMAP "bitmaps/copy.bmp" -icon5 BITMAP "bitmaps/cut.bmp" -icon6 BITMAP "bitmaps/paste.bmp" -icon7 BITMAP "bitmaps/print.bmp" - -icon8 BITMAP "bitmaps/help.bmp" -