recent changes to the 2.2 branch. Rationalised the autoconf scripts again, removed lots of stuff that shouldn't be there anymore and pounded the rest into an even tighter furball. (There's more work to be done here, but we're getting there..) Implemented the library naming scheme outlined in tn0012.txt -- introduced 'toolchain' and 'widget set' into the autoconf scripts, obsoleted the top level wx/setup.h and much of the mess associated with it. More changes for cross compiling and 2.3 debs. s/burnt_name/soname/g ; s/CC/CXX/g ; s/CCC/CC/g ; Just because it's Right. (Thanks Vadim for already doing *FLAGS..) Fixed libfl Makefile to actually work. Removed *_DEPS from tmake templates, in every case they can be determined from the relevant *_OBJS Added BASE_MSW_OBJS, a couple of missing #includes, some missing files to the 'dist' targets, and fixed some compile warnings. Changed setup.py to use wx-config --gl-libs instead of hard coded constants. Modified Files: Makefile.in configure configure.in setup.h.in wx-config.in wxBase.spec wxGTK.spec wxMotif.spec contrib/include/wx/applet/window.h contrib/src/Makefile.in contrib/src/applet/appletwindow.cpp contrib/src/fl/Makefile.in debian/changelog debian/control.in debian/libwxbase-dbg.dirs debian/libwxbase-dbg.links debian/libwxbase-dbg.postinst debian/libwxbase-dbg.prerm debian/libwxbase-dev.dirs debian/libwxbase-dev.files debian/libwxbase-dev.links debian/libwxbase-dev.postinst debian/libwxbase-dev.prerm debian/libwxgtk-dbg.dirs debian/libwxgtk-dbg.links debian/libwxgtk-dbg.postinst debian/libwxgtk-dbg.prerm debian/libwxgtk-dev.dirs debian/libwxgtk-dev.files debian/libwxgtk-dev.links debian/libwxgtk-dev.postinst debian/libwxgtk-dev.prerm debian/rules distrib/msw/tmake/base.t distrib/msw/tmake/gtk.t distrib/msw/tmake/mgl.t distrib/msw/tmake/motif.t distrib/msw/tmake/msw.t distrib/msw/tmake/os2.t distrib/msw/tmake/univ.t docs/motif/install.txt include/wx/msw/private.h include/wx/os2/SETUP.H include/wx/os2/SETUP0.H samples/ipc/Makefile.in samples/sockets/Makefile.in src/files.lst src/make.env.in src/makelib.env.in src/makeprog.env.in src/common/strconv.cpp src/gtk/files.lst src/mgl/files.lst src/motif/files.lst src/msw/files.lst src/msw/gsocket.c src/msw/gsockmsw.c src/msw/toplevel.cpp src/msw/utils.cpp src/os2/files.lst src/univ/files.lst wxPython/setup.py Added Files: debian/libwxbase-msw-dev.dirs debian/libwxbase-msw-dev.links debian/libwxbase-msw-dev.postinst debian/libwxbase-msw-dev.prerm debian/libwxmsw-dev.dirs debian/libwxmsw-dev.links debian/libwxmsw-dev.postinst debian/libwxmsw-dev.prerm debian/wxwin-doc.doc-base debian/wxwin-headers-msw.dirs Removed Files: debian/wxwin-doc.doc-base.in include/wx/setup.h git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
215 lines
7.6 KiB
C++
215 lines
7.6 KiB
C++
/****************************************************************************
|
|
*
|
|
* wxWindows HTML Applet Package
|
|
*
|
|
* Copyright (C) 1991-2001 SciTech Software, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* ======================================================================
|
|
* |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|
|
|
* | |
|
|
* |This copyrighted computer code is a proprietary trade secret of |
|
|
* |SciTech Software, Inc., located at 505 Wall Street, Chico, CA 95928 |
|
|
* |USA (www.scitechsoft.com). ANY UNAUTHORIZED POSSESSION, USE, |
|
|
* |VIEWING, COPYING, MODIFICATION OR DISSEMINATION OF THIS CODE IS |
|
|
* |STRICTLY PROHIBITED BY LAW. Unless you have current, express |
|
|
* |written authorization from SciTech to possess or use this code, you |
|
|
* |may be subject to civil and/or criminal penalties. |
|
|
* | |
|
|
* |If you received this code in error or you would like to report |
|
|
* |improper use, please immediately contact SciTech Software, Inc. at |
|
|
* |530-894-8400. |
|
|
* | |
|
|
* |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|
|
|
* ======================================================================
|
|
*
|
|
* Language: ANSI C++
|
|
* Environment: Any
|
|
*
|
|
* Description: Header file for the wxHtmlAppletWindow class
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __WX_APPLET_WINDOW_H
|
|
#define __WX_APPLET_WINDOW_H
|
|
|
|
#include "wx/html/htmlwin.h"
|
|
#include "wx/process.h"
|
|
|
|
// Forward declare
|
|
class wxApplet;
|
|
class wxQlet;
|
|
class wxLoadPageEvent;
|
|
class wxPageLoadedEvent;
|
|
class wxIncludePrep;
|
|
class wxToolBarBase;
|
|
|
|
// Declare a linked list of wxApplet pointers
|
|
WX_DECLARE_LIST(wxApplet, wxAppletList);
|
|
|
|
/*--------------------------- Class Definitions ---------------------------*/
|
|
|
|
/****************************************************************************
|
|
REMARKS:
|
|
Defines the class for virtual-link data types
|
|
****************************************************************************/
|
|
class VirtualData : public wxObject {
|
|
private:
|
|
wxString m_name;
|
|
wxString m_group;
|
|
wxString m_href;
|
|
|
|
public:
|
|
// Ctors
|
|
VirtualData(
|
|
wxString& name,
|
|
wxString& group,
|
|
wxString& href );
|
|
|
|
// Gets
|
|
wxString GetName(){ return m_name;};
|
|
wxString GetGroup(){ return m_group;};
|
|
wxString GetHref(){ return m_href;};
|
|
|
|
// Sets
|
|
void SetName (wxString& s){ m_name = s; };
|
|
void SetGroup(wxString& s){ m_group = s; };
|
|
void SetHref (wxString& s){ m_href = s; };
|
|
};
|
|
|
|
/****************************************************************************
|
|
REMARKS:
|
|
Defines the class for wxAppletWindow. This class is derived from the
|
|
wxHtmlWindow class and extends it with functionality to handle embedded
|
|
wxApplet's on the HTML pages.
|
|
****************************************************************************/
|
|
class wxHtmlAppletWindow : public wxHtmlWindow {
|
|
private:
|
|
DECLARE_CLASS(wxHtmlAppletWindow);
|
|
DECLARE_EVENT_TABLE();
|
|
|
|
bool m_mutexLock;
|
|
wxIncludePrep *incPreprocessor; // deleted by list it is added too in constructor
|
|
protected:
|
|
wxAppletList m_AppletList;
|
|
static wxHashTable m_Cookies;
|
|
wxToolBarBase *m_NavBar;
|
|
int m_NavBackId;
|
|
int m_NavForwardId;
|
|
wxString m_DocRoot;
|
|
public:
|
|
// Constructor
|
|
wxHtmlAppletWindow(
|
|
wxWindow *parent,
|
|
wxWindowID id = -1,
|
|
wxToolBarBase *navBar = NULL,
|
|
int navBackId = -1,
|
|
int navForwardId = -1,
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
const wxSize& size = wxDefaultSize,
|
|
long style = wxHW_SCROLLBAR_AUTO,
|
|
const wxString& name = "htmlAppletWindow",
|
|
const wxString& docroot = "" );
|
|
|
|
// Destructor
|
|
~wxHtmlAppletWindow();
|
|
|
|
// Create an instance of an applet based on it's class name
|
|
wxApplet *CreateApplet(
|
|
const wxString& classId,
|
|
const wxString& iName,
|
|
const wxHtmlTag ¶ms,
|
|
const wxSize& size);
|
|
|
|
// Create an instance of an Qlet based on it's class name
|
|
bool CreatePlugIn(const wxString& classId );
|
|
|
|
// Find an instance of an applet based on it's class name
|
|
wxApplet *FindApplet(const wxString& className);
|
|
|
|
// Remove an applet from the window. Called during applet destruction
|
|
bool RemoveApplet(const wxApplet *applet);
|
|
|
|
// Load a new URL page
|
|
virtual bool LoadPage(const wxString& location);
|
|
|
|
// Called when users clicked on hypertext link.
|
|
virtual void OnLinkClicked(const wxHtmlLinkInfo& link);
|
|
|
|
// Handles forward navigation within the HTML stack
|
|
bool HistoryForward();
|
|
|
|
// Handles backwards navigation within the HTML stack
|
|
bool HistoryBack();
|
|
|
|
// Broadcast a message to all applets on the page
|
|
void SendMessage(wxEvent& msg);
|
|
|
|
// Register a cookie of data in the applet manager
|
|
static bool RegisterCookie(const wxString& name,wxObject *cookie);
|
|
|
|
// UnRegister a cookie of data in the applet manager
|
|
static bool UnRegisterCookie(const wxString& name);
|
|
|
|
// Find a cookie of data given it's public name
|
|
static wxObject *FindCookie(const wxString& name);
|
|
|
|
// Event handlers to load a new page
|
|
void OnLoadPage(wxLoadPageEvent &event);
|
|
|
|
// Event handlers to load a new page
|
|
void OnPageLoaded(wxPageLoadedEvent &event);
|
|
|
|
// LoadPage mutex locks
|
|
void Lock(){ m_mutexLock = true;};
|
|
void UnLock(){ m_mutexLock = false;};
|
|
|
|
// Returns TRUE if the mutex is locked, FALSE otherwise.
|
|
bool IsLocked(){ return m_mutexLock;};
|
|
|
|
// Tries to lock the mutex. If it can't, returns immediately with false.
|
|
bool TryLock();
|
|
|
|
};
|
|
|
|
/****************************************************************************
|
|
REMARKS:
|
|
Defines the class for AppetProcess
|
|
***************************************************************************/
|
|
class AppletProcess : public wxProcess {
|
|
public:
|
|
AppletProcess(
|
|
wxWindow *parent)
|
|
: wxProcess(parent)
|
|
{
|
|
}
|
|
|
|
// instead of overriding this virtual function we might as well process the
|
|
// event from it in the frame class - this might be more convenient in some
|
|
// cases
|
|
virtual void OnTerminate(int pid, int status);
|
|
|
|
};
|
|
|
|
/****************************************************************************
|
|
REMARKS:
|
|
Defines the class for wxHtmlAppletCell
|
|
***************************************************************************/
|
|
class wxHtmlAppletCell : public wxHtmlCell
|
|
{
|
|
public:
|
|
wxHtmlAppletCell(wxWindow *wnd, int w = 0);
|
|
~wxHtmlAppletCell() { m_Wnd->Destroy(); }
|
|
virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
|
|
virtual void DrawInvisible(wxDC& dc, int x, int y);
|
|
virtual void Layout(int w);
|
|
|
|
protected:
|
|
wxWindow* m_Wnd;
|
|
// width float is used in adjustWidth (it is in percents)
|
|
};
|
|
|
|
|
|
#endif // __WX_APPLET_WINDOW_H
|
|
|