Removed old wxGLCanvas stuff; moved wxTreeLayout to wxWindows; corrected some doc errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
21
samples/treelay/Makefile.in
Normal file
21
samples/treelay/Makefile.in
Normal file
@@ -0,0 +1,21 @@
|
||||
#
|
||||
# File: makefile.unx
|
||||
# Author: Julian Smart
|
||||
# Created: 1998
|
||||
# Updated:
|
||||
# Copyright: (c) 1998 Julian Smart
|
||||
#
|
||||
# "%W% %G%"
|
||||
#
|
||||
# Makefile for test example (UNIX).
|
||||
|
||||
top_srcdir = @top_srcdir@/..
|
||||
top_builddir = ../..
|
||||
program_dir = samples/test
|
||||
|
||||
PROGRAM=test
|
||||
|
||||
OBJECTS=$(PROGRAM).o
|
||||
|
||||
include ../../src/makeprog.env
|
||||
|
16
samples/treelay/makefile.b32
Normal file
16
samples/treelay/makefile.b32
Normal file
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# File: makefile.b32
|
||||
# Author: Julian Smart
|
||||
# Created: 1999
|
||||
# Updated:
|
||||
# Copyright:
|
||||
#
|
||||
# Makefile : Builds sample for 32-bit BC++
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
TARGET=test
|
||||
OBJECTS = $(TARGET).obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.b32
|
||||
|
19
samples/treelay/makefile.bcc
Normal file
19
samples/treelay/makefile.bcc
Normal file
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# File: makefile.bcc
|
||||
# Author: Julian Smart
|
||||
# Created: 1998
|
||||
# Updated:
|
||||
#
|
||||
# Builds a BC++ 16-bit sample
|
||||
|
||||
!if "$(WXWIN)" == ""
|
||||
!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
|
||||
!endif
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
TARGET=test
|
||||
OBJECTS=$(TARGET).obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.bcc
|
||||
|
17
samples/treelay/makefile.dos
Normal file
17
samples/treelay/makefile.dos
Normal file
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# 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
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
TARGET=test
|
||||
OBJECTS=$(TARGET).obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.msc
|
||||
|
16
samples/treelay/makefile.g95
Normal file
16
samples/treelay/makefile.g95
Normal file
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# File: makefile.g95
|
||||
# Author: Julian Smart
|
||||
# Created: 1999
|
||||
# Updated:
|
||||
# Copyright: (c) Julian Smart, 1999
|
||||
#
|
||||
# Makefile for wxWindows sample (Cygwin/Mingw32).
|
||||
|
||||
WXDIR = ../..
|
||||
|
||||
TARGET=test
|
||||
OBJECTS = $(TARGET).o
|
||||
|
||||
include $(WXDIR)/src/makeprog.g95
|
||||
|
35
samples/treelay/makefile.unx
Normal file
35
samples/treelay/makefile.unx
Normal file
@@ -0,0 +1,35 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
CC = gcc
|
||||
|
||||
PROGRAM = test
|
||||
|
||||
OBJECTS = $(PROGRAM).o
|
||||
|
||||
# implementation
|
||||
|
||||
.SUFFIXES: .o .cpp
|
||||
|
||||
.cpp.o :
|
||||
$(CC) -c `wx-config --cflags` -o $@ $<
|
||||
|
||||
all: $(PROGRAM)
|
||||
|
||||
$(PROGRAM): $(OBJECTS)
|
||||
$(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
|
||||
|
||||
clean:
|
||||
rm -f *.o $(PROGRAM)
|
18
samples/treelay/makefile.vc
Normal file
18
samples/treelay/makefile.vc
Normal file
@@ -0,0 +1,18 @@
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Set WXDIR for your system
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
PROGRAM=test
|
||||
OBJECTS = $(PROGRAM).obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.vc
|
||||
|
15
samples/treelay/makefile.wat
Normal file
15
samples/treelay/makefile.wat
Normal file
@@ -0,0 +1,15 @@
|
||||
#
|
||||
# Makefile for WATCOM
|
||||
#
|
||||
# Created by Julian Smart, January 1999
|
||||
#
|
||||
#
|
||||
|
||||
WXDIR = $(%WXWIN)
|
||||
|
||||
PROGRAM = test
|
||||
OBJECTS = $(PROGRAM).obj
|
||||
|
||||
!include $(WXDIR)\src\makeprog.wat
|
||||
|
||||
|
BIN
samples/treelay/mondrian.ico
Normal file
BIN
samples/treelay/mondrian.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 766 B |
202
samples/treelay/test.cpp
Normal file
202
samples/treelay/test.cpp
Normal file
@@ -0,0 +1,202 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: test.cpp
|
||||
// Purpose: wxTreeLayout sample
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 7/4/98
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1998 Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include <wx/wxprec.h>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include <wx/wx.h>
|
||||
#endif
|
||||
|
||||
#include <wx/treelay.h>
|
||||
|
||||
#include "test.h"
|
||||
|
||||
wxStoredTree *myTree = NULL;
|
||||
|
||||
// A macro needed for some compilers (AIX) that need 'main' to be defined
|
||||
// in the application itself.
|
||||
IMPLEMENT_APP(MyApp)
|
||||
|
||||
// The `main program' equivalent, creating the windows and returning the
|
||||
// main frame
|
||||
bool MyApp::OnInit()
|
||||
{
|
||||
// Create the main frame window
|
||||
MyFrame* frame = new MyFrame(NULL, "Tree Test", wxPoint(-1, -1), wxSize(400, 550));
|
||||
|
||||
// Give it a status line
|
||||
frame->CreateStatusBar(2);
|
||||
|
||||
// Give it an icon
|
||||
#ifdef __WINDOWS__
|
||||
wxIcon icon("tree_icn");
|
||||
frame->SetIcon(icon);
|
||||
#endif
|
||||
|
||||
// Make a menubar
|
||||
wxMenu *file_menu = new wxMenu;
|
||||
file_menu->Append(TEST_LEFT_RIGHT, "&Left to right", "Redraw left to right");
|
||||
file_menu->Append(TEST_TOP_BOTTOM, "&Top to bottom", "Redraw top to bottom");
|
||||
file_menu->AppendSeparator();
|
||||
file_menu->Append(TEST_QUIT, "E&xit", "Quit program");
|
||||
|
||||
wxMenu *help_menu = new wxMenu;
|
||||
help_menu->Append(TEST_ABOUT, "&About", "About Tree Test");
|
||||
|
||||
wxMenuBar* menu_bar = new wxMenuBar;
|
||||
|
||||
menu_bar->Append(file_menu, "&File");
|
||||
menu_bar->Append(help_menu, "&Help");
|
||||
|
||||
// Associate the menu bar with the frame
|
||||
frame->SetMenuBar(menu_bar);
|
||||
|
||||
MyCanvas *canvas = new MyCanvas(frame);
|
||||
|
||||
// Give it scrollbars: the virtual canvas is 20 * 50 = 1000 pixels in each direction
|
||||
canvas->SetScrollbars(20, 20, 50, 50);
|
||||
frame->canvas = canvas;
|
||||
|
||||
myTree = new wxStoredTree();
|
||||
|
||||
wxClientDC dc(canvas);
|
||||
wxFont font(10, wxROMAN, wxNORMAL, wxBOLD);
|
||||
dc.SetFont(font);
|
||||
TreeTest(*myTree, dc);
|
||||
|
||||
frame->Show(TRUE);
|
||||
|
||||
frame->SetStatusText("Hello, tree!");
|
||||
|
||||
// Return the main frame window
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void MyApp::TreeTest(wxStoredTree& tree, wxDC& dc)
|
||||
{
|
||||
tree.Initialize(200);
|
||||
|
||||
tree.AddChild("animal");
|
||||
tree.AddChild("mammal", "animal");
|
||||
tree.AddChild("insect", "animal");
|
||||
tree.AddChild("bird", "animal");
|
||||
|
||||
tree.AddChild("man", "mammal");
|
||||
tree.AddChild("cat", "mammal");
|
||||
tree.AddChild("dog", "mammal");
|
||||
tree.AddChild("giraffe", "mammal");
|
||||
tree.AddChild("elephant", "mammal");
|
||||
tree.AddChild("donkey", "mammal");
|
||||
tree.AddChild("horse", "mammal");
|
||||
|
||||
tree.AddChild("fido", "dog");
|
||||
tree.AddChild("domestic cat", "cat");
|
||||
tree.AddChild("lion", "cat");
|
||||
tree.AddChild("tiger", "cat");
|
||||
tree.AddChild("felix", "domestic cat");
|
||||
tree.AddChild("socks", "domestic cat");
|
||||
|
||||
tree.AddChild("beetle", "insect");
|
||||
tree.AddChild("earwig", "insect");
|
||||
tree.AddChild("eagle", "bird");
|
||||
tree.AddChild("bluetit", "bird");
|
||||
tree.AddChild("sparrow", "bird");
|
||||
tree.AddChild("blackbird", "bird");
|
||||
tree.AddChild("emu", "bird");
|
||||
tree.AddChild("crow", "bird");
|
||||
|
||||
tree.DoLayout(dc);
|
||||
}
|
||||
|
||||
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(TEST_QUIT, MyFrame::OnQuit)
|
||||
EVT_MENU(TEST_ABOUT, MyFrame::OnAbout)
|
||||
EVT_MENU(TEST_LEFT_RIGHT, MyFrame::OnLeftRight)
|
||||
EVT_MENU(TEST_TOP_BOTTOM, MyFrame::OnTopBottom)
|
||||
EVT_CLOSE(MyFrame::OnCloseWindow)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// Define my frame constructor
|
||||
MyFrame::MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size):
|
||||
wxFrame(parent, -1, title, pos, size)
|
||||
{
|
||||
}
|
||||
|
||||
void MyFrame::OnQuit(wxCommandEvent& event)
|
||||
{
|
||||
Close(TRUE);
|
||||
}
|
||||
|
||||
void MyFrame::OnLeftRight(wxCommandEvent& event)
|
||||
{
|
||||
if (myTree)
|
||||
{
|
||||
myTree->SetOrientation(FALSE);
|
||||
wxClientDC dc(canvas);
|
||||
wxFont font(10, wxROMAN, wxNORMAL, wxBOLD);
|
||||
dc.SetFont(font);
|
||||
wxGetApp().TreeTest(*myTree, dc);
|
||||
canvas->Refresh();
|
||||
}
|
||||
}
|
||||
|
||||
void MyFrame::OnTopBottom(wxCommandEvent& event)
|
||||
{
|
||||
if (myTree)
|
||||
{
|
||||
myTree->SetOrientation(TRUE);
|
||||
wxClientDC dc(canvas);
|
||||
wxFont font(10, wxROMAN, wxNORMAL, wxBOLD);
|
||||
dc.SetFont(font);
|
||||
wxGetApp().TreeTest(*myTree, dc);
|
||||
canvas->Refresh();
|
||||
}
|
||||
}
|
||||
|
||||
void MyFrame::OnAbout(wxCommandEvent& event)
|
||||
{
|
||||
(void)wxMessageBox("wxWindows tree library demo Vsn 2.0\nAuthor: Julian Smart (c) 1998", "About tree test");
|
||||
}
|
||||
|
||||
void MyFrame::OnCloseWindow(wxCloseEvent& event)
|
||||
{
|
||||
Destroy();
|
||||
}
|
||||
|
||||
BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
|
||||
EVT_PAINT(MyCanvas::OnPaint)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// Define a constructor for my canvas
|
||||
MyCanvas::MyCanvas(wxWindow *parent):
|
||||
wxScrolledWindow(parent, -1)
|
||||
{
|
||||
SetBackgroundColour(*wxWHITE);
|
||||
}
|
||||
|
||||
// Define the repainting behaviour
|
||||
void MyCanvas::OnPaint(wxPaintEvent& event)
|
||||
{
|
||||
wxPaintDC dc(this);
|
||||
PrepareDC(dc);
|
||||
if (myTree)
|
||||
{
|
||||
wxFont font(10, wxROMAN, wxNORMAL, wxBOLD);
|
||||
dc.SetFont(font);
|
||||
myTree->Draw(dc);
|
||||
}
|
||||
}
|
||||
|
8
samples/treelay/test.def
Normal file
8
samples/treelay/test.def
Normal file
@@ -0,0 +1,8 @@
|
||||
NAME Test
|
||||
DESCRIPTION 'Tree Test'
|
||||
EXETYPE WINDOWS
|
||||
STUB 'WINSTUB.EXE'
|
||||
CODE PRELOAD MOVEABLE DISCARDABLE
|
||||
DATA PRELOAD MOVEABLE MULTIPLE
|
||||
HEAPSIZE 1024
|
||||
STACKSIZE 16192
|
54
samples/treelay/test.h
Normal file
54
samples/treelay/test.h
Normal file
@@ -0,0 +1,54 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: test.h
|
||||
// Purpose: wxTreeLayout sample
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 7/4/98
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1998 Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Define a new application
|
||||
class MyApp: public wxApp
|
||||
{
|
||||
public:
|
||||
bool OnInit();
|
||||
void TreeTest(wxStoredTree& tree, wxDC& dc);
|
||||
};
|
||||
|
||||
DECLARE_APP(MyApp)
|
||||
|
||||
class MyCanvas;
|
||||
|
||||
class MyFrame: public wxFrame
|
||||
{
|
||||
public:
|
||||
MyCanvas *canvas;
|
||||
MyFrame(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size);
|
||||
|
||||
void OnCloseWindow(wxCloseEvent& event);
|
||||
void OnQuit(wxCommandEvent& event);
|
||||
void OnAbout(wxCommandEvent& event);
|
||||
void OnLeftRight(wxCommandEvent& event);
|
||||
void OnTopBottom(wxCommandEvent& event);
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
// Define a new canvas which can receive some events
|
||||
class MyCanvas: public wxScrolledWindow
|
||||
{
|
||||
public:
|
||||
MyCanvas(wxWindow *frame);
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
void OnEvent(wxMouseEvent& event);
|
||||
void OnChar(wxKeyEvent& event);
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
#define TEST_QUIT 1
|
||||
#define TEST_ABOUT 2
|
||||
#define TEST_LEFT_RIGHT 3
|
||||
#define TEST_TOP_BOTTOM 4
|
||||
|
3
samples/treelay/test.rc
Normal file
3
samples/treelay/test.rc
Normal file
@@ -0,0 +1,3 @@
|
||||
tree_icn ICON "mondrian.ico"
|
||||
#include "wx/msw/wx.rc"
|
||||
|
Reference in New Issue
Block a user