⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vappold.h

📁 源码PonyProg2000-2.07a.tar.gz
💻 H
字号:
//================================================================// vapp.h - the vapp base object - X11R5 version//// Copyright (C) 1995-1998  Bruce E. Wampler//// This file is part of the V C++ GUI Framework, and is covered// under the terms of the GNU Library General Public License,// Version 2. This library has NO WARRANTY. See the source file// vapp.cxx for more complete information about license terms.//===============================================================#ifndef VAPP_H#define VAPP_H#include <v/vbaseitm.h>	// our parent class#include <v/vfont.h>	// our parent class#include <v/vawinfo.h>#include <v/vmenu.h>#include <v/vtimer.h>extern "C"		// wrap in "C"{#include <X11/Core.h>#include <X11/Shell.h>#include <X11/StringDefs.h>}    extern int AppMain(int, char**);    class vWindow;    typedef struct WindList      {	vWindow* window;	vAppWinInfo* info;	WindList* nextWinList;      } WindList;    class _appWorkTimer : public vTimer      {      public:		//---------------------------------------- public	_appWorkTimer() {}	~_appWorkTimer() {}	virtual void TimerTick();      private:		//--------------------------------------- private      };    class vApp : public vBaseItem      {	// give friend access to some special things	friend class vWindow; // Provide access for vWindow class	friend int main(int, char**);	// give main access	friend class _appWorkTimer;      public:		//---------------------------------------- public	vApp(VCONST char* appName, int simSDI = 0, int fh = 0, int fw = 0);	// constructor	virtual ~vApp()	// destructor	  {	    SysDebug(Destructor,"vApp::~vApp destructor\n")	    if (theClipboard != 0)		delete [] theClipboard;		// free last chunk	  }	// Methods to override	virtual void AppCommand(vWindow* win, ItemVal id, ItemVal retval, CmdType ctype);	virtual void CloseLastCmdWindow(vWindow* win, int exitcode);	virtual int CloseAppWin(vWindow* win);	virtual int CloseHelpWin(vWindow* win);	int IsHelpWin(vWindow *Win);	virtual void Exit(void);	virtual void KeyIn(vWindow* win, vKey key, unsigned int shift);	virtual vWindow* NewAppWin(vWindow* win, VCONST char* name, int w, int h, 		vAppWinInfo* winInfo = 0);	virtual  vWindow* NewHelpWin(vWindow* win, VCONST char* name, int w, int h);        int ClipboardSetText(VCONST char* text, int DoXOwn = 1) VCONST;        char* ClipboardGetText() VCONST;        int ClipboardCheckText() VCONST;        void ClipboardClear() VCONST;	// Tasking	void CheckEvents();	int EnableWorkSlice(long slice);	virtual void WorkSlice() {}	// No op by default	// Utlity methods	void showAppWin(bool show) {}	// No op in X	void GetVVersion(int& major, int& minor)	   { major = V_VersMajor; minor = V_VersMinor; }	int DefaultHeight() { return _DefaultHeight; }	int DefaultWidth() {return _DefaultWidth; }	int ScreenHeight() { return _DisplayHeight; }	int ScreenWidth() {return _DisplayWidth; }	int IsRunning() {return _running;}  // see if app is running	vFont GetDefaultFont();	void SendWindowCommandAll(ItemVal id, int val, CmdType ctype);	void UpdateAllViews(vWindow* sender = NULL, int hint = 0, 		void* pHint = NULL);	void SetValueAll(ItemVal id, int val, ItemSetType setType) VCONST;	void SetAppTitle(VCONST char* title);	void SetStringAll(ItemVal id, VCONST char* str);	int ShowList();	vAppWinInfo *getAppWinInfo(vWindow* Win);	// Required internally	// These need to be global, sorry...	int XCheckSelection();	void XWaitUntilMapped(Widget w);	Atom vx_wm_protocols;		// Stuff for X protocols	Atom vx_wm_delete_window;	vMenuPane* GetMenuThis(Widget w);	// needed for submenus	int simSDI() { return _simSDI;}	// X stuff	Display* display()	// To get the X display	  { return _display; }	Window xWindow();	XtAppContext appContext()	// To get the context	  { return _appContext; }	int Xdepth() {return _depth;}	Pixel Xfg() {return _foregroundPix;}	Pixel Xbg() {return _backgroundPix;}	Colormap Xcolormap() {return _colormap;}	XFontStruct* _XDefaultFont;	// set by default or -fn switch	void doXEventLoop();      protected:	//--------------------------------------- protected	WindList* _WindowList;		// List of "top level" windows	int _running;			// if we are running	void registerWindow(vWindow* Win, vAppWinInfo* awinfo);	void unregisterWindow(vWindow* Win);	// The following two are called from main.	void initialize(int& argc, char** argv);      private:		//--------------------------------------- private	int _frameWidth, _frameHeight;	int _DefaultHeight;	int _DefaultWidth;	int _simSDI;		// not used in X, but in windows	_appWorkTimer* _workTimer;	// timer for work slice        void DispatchWork(void);	// X stuff	Display* _display;		// Needed by X sometimes	Window _xwindow;		// Window of root window	XtAppContext _appContext;	// Main app context	Colormap _colormap;	Pixel _foregroundPix;		// foreground pixel value	Pixel _backgroundPix;   	// background pixel value	int _depth;			// depth	int _DisplayHeight;		// height of display	int _DisplayWidth;		// width of display	static const int ClipAllocUnit = 1024;	VMUTABLE int ClipMax;	VMUTABLE char* theClipboard;      };    extern vApp *theApp;		// Pointer to single global instance#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -