- wxBitmap* bitmaps[8];
-
- bitmaps[0] = new wxBitmap("icon1", wxBITMAP_TYPE_RESOURCE);
- bitmaps[1] = new wxBitmap("icon2", wxBITMAP_TYPE_RESOURCE);
- bitmaps[2] = new wxBitmap("icon3", wxBITMAP_TYPE_RESOURCE);
- bitmaps[3] = new wxBitmap("icon4", wxBITMAP_TYPE_RESOURCE);
- bitmaps[4] = new wxBitmap("icon5", wxBITMAP_TYPE_RESOURCE);
- bitmaps[5] = new wxBitmap("icon6", wxBITMAP_TYPE_RESOURCE);
- bitmaps[6] = new wxBitmap("icon7", wxBITMAP_TYPE_RESOURCE);
- bitmaps[7] = new wxBitmap("icon8", wxBITMAP_TYPE_RESOURCE);
-
-#ifdef __WINDOWS__
- int width = 24;
-#else
- int width = 16;
-#endif
- int offX = 5;
- int currentX = 5;
-
- AddTool(0, bitmaps[0], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "New file");
- currentX += width + 5;
- AddTool(1, bitmaps[1], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Open file");
- currentX += width + 5;
- AddTool(2, bitmaps[2], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Save file");
- currentX += width + 5;
- AddSeparator();
- AddTool(3, bitmaps[3], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Copy");
- currentX += width + 5;
- AddTool(4, bitmaps[4], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Cut");
- currentX += width + 5;
- AddTool(5, bitmaps[5], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Paste");
- currentX += width + 5;
- AddSeparator();
- AddTool(6, bitmaps[6], wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Print");
- currentX += width + 5;
- AddSeparator();
- AddTool(7, bitmaps[7], wxNullBitmap, TRUE, currentX, -1, NULL, "Help");
-
- CreateTools();
-
- int i;
- for (i = 0; i < 8; i++)
- delete bitmaps[i];
+ // VZ: here everything is totally wrong under MSW, the positions are
+ // different and both wrong (pos2 is off by 2 pixels for me which seems
+ // to be the width of the MDI canvas border)
+ wxPoint pos1 = event.GetPosition(),
+ pos2 = GetPosition();
+ wxLogStatus(wxT("position from event: (%d, %d), from frame (%d, %d)"),
+ pos1.x, pos1.y, pos2.x, pos2.y);
+
+ event.Skip();
+}
+
+void MyChild::OnSize(wxSizeEvent& event)
+{
+ // VZ: under MSW the size event carries the client size (quite
+ // unexpectedly) *except* for the very first one which has the full
+ // size... what should it really be? TODO: check under wxGTK
+ wxSize size1 = event.GetSize(),
+ size2 = GetSize(),
+ size3 = GetClientSize();
+ wxLogStatus(wxT("size from event: %dx%d, from frame %dx%d, client %dx%d"),
+ size1.x, size1.y, size2.x, size2.y, size3.x, size3.y);
+
+ event.Skip();