1. Assorted Motif fixes

a) tear off menus
 b) native dialogs
 c) crash in ~wxWindow fixed
 d) compilation and linking fixes
2. test code removed from minimal sample, text one compiles without clipboard
3. wxAppBase/wxApp small fixes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-07-21 16:10:18 +00:00
parent 20a8b34e2c
commit ee31c392ac
16 changed files with 633 additions and 462 deletions

View File

@@ -69,7 +69,6 @@ public:
// event handlers (these functions should _not_ be virtual)
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event);
void OnTest(wxCommandEvent& event);
void OnPaint(wxPaintEvent& event);
@@ -88,10 +87,6 @@ enum
// menu items
Minimal_Quit = 1,
Minimal_About,
Minimal_Test,
// controls start here (the numbers are, of course, arbitrary)
Minimal_Text = 1000,
};
// ----------------------------------------------------------------------------
@@ -104,10 +99,6 @@ enum
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Minimal_Quit, MyFrame::OnQuit)
EVT_MENU(Minimal_About, MyFrame::OnAbout)
EVT_MENU(Minimal_Test, MyFrame::OnTest)
EVT_PAINT(MyFrame::OnPaint)
END_EVENT_TABLE()
// Create a new application object: this macro will allow wxWindows to create
@@ -158,7 +149,6 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
wxMenu *menuFile = new wxMenu("", wxMENU_TEAROFF);
menuFile->Append(Minimal_About, "&About...\tCtrl-A", "Show about dialog");
menuFile->Append(Minimal_Test, "&Test...\tCtrl-T", "Test");
menuFile->AppendSeparator();
menuFile->Append(Minimal_Quit, "E&xit\tAlt-X", "Quit this program");
@@ -202,71 +192,3 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
wxMessageBox(msg, "About Minimal", wxOK | wxICON_INFORMATION, this);
}
struct Foo
{
Foo(int n_) { n = n_; }
int n;
};
WX_DECLARE_LIST(Foo, FooList);
#include <wx/listimpl.cpp>
WX_DEFINE_LIST(FooList);
int FooSort(const Foo **item1, const Foo **item2)
{
return (*item2)->n - (*item1)->n;
}
void ShowList(const FooList& list)
{
wxString msg, str;
msg = "The list elements: (";
for ( FooList::Node *node = list.GetFirst(); node; node = node->GetNext() )
{
if ( !!str )
msg += ", ";
str.Printf("%d", node->GetData()->n);
msg += str;
}
msg += ')';
wxMessageBox(msg, "List contents", wxOK | wxICON_INFORMATION);
}
void MyFrame::OnTest(wxCommandEvent& event)
{
FooList list;
list.Append(new Foo(12));
list.Append(new Foo(3));
list.Append(new Foo(1));
list.Append(new Foo(7));
list.Append(new Foo(4));
ShowList(list);
list.Sort(FooSort);
ShowList(list);
}
void MyFrame::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc(this);
wxMemoryDC dcMem;
wxSize size(GetClientSize());
dcMem.SelectObject(wxBitmap(size.x, size.y, -1));
dcMem.SetBackground(wxBrush(wxColour(0, 0, 255), wxSOLID));
dcMem.SetTextForeground(wxColour(0, 255, 0));
dcMem.SetTextBackground(wxColour(0, 0, 0));
dcMem.SetBackgroundMode(wxSOLID);
dcMem.Clear();
dcMem.DrawText("Hello, wxWindows!", 10, 10);
wxPoint ptOrig(0, 0);
dc.Blit(ptOrig, size, &dcMem, ptOrig);
dcMem.SelectObject(wxNullBitmap);
}