git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			157 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/****************************************************************************
 | 
						|
*
 | 
						|
*                       wxWindows HTML Applet Package
 | 
						|
*
 | 
						|
*               Copyright (C) 1991-2001 SciTech Software, Inc.
 | 
						|
*                            All rights reserved.
 | 
						|
*
 | 
						|
*  ========================================================================
 | 
						|
*
 | 
						|
*    The contents of this file are subject to the wxWindows License
 | 
						|
*    Version 3.0 (the "License"); you may not use this file except in
 | 
						|
*    compliance with the License. You may obtain a copy of the License at
 | 
						|
*    http://www.wxwindows.org/licence3.txt
 | 
						|
*
 | 
						|
*    Software distributed under the License is distributed on an
 | 
						|
*    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 | 
						|
*    implied. See the License for the specific language governing
 | 
						|
*    rights and limitations under the License.
 | 
						|
*
 | 
						|
*  ========================================================================
 | 
						|
*
 | 
						|
* Language:     ANSI C++
 | 
						|
* Environment:  Any
 | 
						|
*
 | 
						|
* Description:  Main wxApplet sample program
 | 
						|
*
 | 
						|
****************************************************************************/
 | 
						|
 | 
						|
// For compilers that support precompilation, includes "wx/wx.h".
 | 
						|
#include "wx/wxprec.h"
 | 
						|
#ifdef __BORLANDC__
 | 
						|
    #pragma hdrstop
 | 
						|
#endif
 | 
						|
 | 
						|
#include "wx/wx.h"
 | 
						|
#include "wx/applet/window.h"
 | 
						|
#include "applet.h"
 | 
						|
 | 
						|
/*---------------------------- Global variables ---------------------------*/
 | 
						|
 | 
						|
// Define the event tables for handling application frame events
 | 
						|
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
 | 
						|
    EVT_MENU(Minimal_Quit,      MyFrame::OnQuit)
 | 
						|
    EVT_MENU(Minimal_About,     MyFrame::OnAbout)
 | 
						|
    EVT_MENU(Minimal_Back,      MyFrame::OnBack)
 | 
						|
    EVT_MENU(Minimal_Forward,   MyFrame::OnForward)
 | 
						|
END_EVENT_TABLE()
 | 
						|
 | 
						|
// Create a new application object: this macro will allow wxWindows to create
 | 
						|
// the application object during program execution (it's better than using a
 | 
						|
// static object for many reasons) and also declares the accessor function
 | 
						|
// wxGetApp() which will return the reference of the right type (i.e. MyApp and
 | 
						|
// not wxApp)
 | 
						|
IMPLEMENT_APP(MyApp)
 | 
						|
 | 
						|
/*------------------------- Implementation --------------------------------*/
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
PARAMETERS:
 | 
						|
title   - Title for the frame window
 | 
						|
pos     - Position to place to frame window
 | 
						|
size    - Size of the frame window
 | 
						|
 | 
						|
REMARKS:
 | 
						|
Application frame window constructor
 | 
						|
****************************************************************************/
 | 
						|
MyFrame::MyFrame(
 | 
						|
    const wxString& title,
 | 
						|
    const wxPoint& pos,
 | 
						|
    const wxSize& size)
 | 
						|
    : wxFrame(NULL, -1, title, pos, size)
 | 
						|
{
 | 
						|
    // Create a menu bar
 | 
						|
    wxMenu *menuFile = new wxMenu;
 | 
						|
    wxMenu *menuNav = new wxMenu;
 | 
						|
    menuFile->Append(Minimal_Quit, "E&xit");
 | 
						|
    menuNav->Append(Minimal_Back, "Go &back");
 | 
						|
    menuNav->Append(Minimal_Forward, "Go &forward");
 | 
						|
 | 
						|
    // Now append the freshly created menu to the menu bar...
 | 
						|
    wxMenuBar *menuBar = new wxMenuBar;
 | 
						|
    menuBar->Append(menuFile, "&File");
 | 
						|
    menuBar->Append(menuNav, "&Navigate");
 | 
						|
 | 
						|
    // ... and attach this menu bar to the frame
 | 
						|
    SetMenuBar(menuBar);
 | 
						|
    CreateStatusBar(2);
 | 
						|
 | 
						|
    // Create the HTML window
 | 
						|
    html = new wxHtmlAppletWindow(this);
 | 
						|
    html->SetRelatedFrame(this, "wxApplet Demo: '%s'");
 | 
						|
    html->SetRelatedStatusBar(1);
 | 
						|
    html->LoadPage("index.html");
 | 
						|
}
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
REMARKS:
 | 
						|
Event handler for the 'Exit' menu item
 | 
						|
****************************************************************************/
 | 
						|
void MyFrame::OnQuit(
 | 
						|
    wxCommandEvent&)
 | 
						|
{
 | 
						|
    // TRUE is to force the frame to close
 | 
						|
    Close(TRUE);
 | 
						|
}
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
REMARKS:
 | 
						|
Event handler for the 'About' menu item
 | 
						|
****************************************************************************/
 | 
						|
void MyFrame::OnAbout(
 | 
						|
    wxCommandEvent&)
 | 
						|
{
 | 
						|
    // TODO: Bring up and about html page!
 | 
						|
}
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
REMARKS:
 | 
						|
Event handler for the 'Go back' menu item
 | 
						|
****************************************************************************/
 | 
						|
void MyFrame::OnBack(
 | 
						|
    wxCommandEvent&)
 | 
						|
{
 | 
						|
    if (!html -> HistoryBack())
 | 
						|
        wxMessageBox("You reached prehistory era!");
 | 
						|
}
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
REMARKS:
 | 
						|
Event handler for the 'Go forward' menu item
 | 
						|
****************************************************************************/
 | 
						|
void MyFrame::OnForward(
 | 
						|
    wxCommandEvent&)
 | 
						|
{
 | 
						|
    if (!html -> HistoryForward())
 | 
						|
        wxMessageBox("No more items in history!");
 | 
						|
}
 | 
						|
 | 
						|
/****************************************************************************
 | 
						|
REMARKS:
 | 
						|
`Main program' equivalent: the program execution "starts" here
 | 
						|
****************************************************************************/
 | 
						|
bool MyApp::OnInit()
 | 
						|
{
 | 
						|
    // Create the main application window
 | 
						|
    MyFrame *frame = new MyFrame("wxApplet testing application",
 | 
						|
        wxPoint(50, 50), wxSize(640, 480));
 | 
						|
 | 
						|
    // Show it and tell the application that it's our main window
 | 
						|
    frame->Show(TRUE);
 | 
						|
    SetTopWindow(frame);
 | 
						|
 | 
						|
    // Success: wxApp::OnRun() will be called to run the application
 | 
						|
    return TRUE;
 | 
						|
}
 | 
						|
 |