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

📄 scriptwriter.h

📁 Java写的文本编辑器
💻 H
字号:
/* * ScriptWriter.h - part of jEditLauncher package * Copyright (C) 2001 John Gellene * jgellene@nyc.rr.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or any later version. * * Notwithstanding the terms of the General Public License, the author grants * permission to compile and link object code generated by the compilation of * this program with object code and libraries that are not subject to the * GNU General Public License, provided that the executable output of such * compilation shall be distributed with source code on substantially the * same basis as the jEditLauncher package of which this program is a part. * By way of example, a distribution would satisfy this condition if it * included a working makefile for any freely available make utility that * runs on the Windows family of operating systems. This condition does not * require a licensee of this software to distribute any proprietary software * (including header files and libraries) that is licensed under terms * prohibiting redistribution to third parties. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. * * $Id: ScriptWriter.h,v 1.4 2001/09/05 11:24:52 jgellene Exp $ */#if !defined(__SCRIPTWRITER_H__)#define __SCRIPTWRITER_H__/***@author author*/class ScriptWriter{	/* constructor */public:	ScriptWriter();	virtual ~ScriptWriter();	/* helper operation */	static void MakeFullPath(LPSTR path);	/* Override */public:	HRESULT WriteScript(VARIANTARG var, char** ppScript);	HRESULT WriteScript(wchar_t* wargv[], int nArgs, char **ppScript);	HRESULT WriteScript(char* argv[], int nArgs, char **ppScript);	/* Protected implementation interface */protected:	virtual HRESULT WritePrefix() = 0;	virtual HRESULT ProcessSinglePath(const char* path) = 0;	virtual HRESULT WriteSuffix() = 0;	/* Implementation */protected:	HRESULT InitBuffer(size_t size);	void ClearBuffer();	void ReleaseBuffer();	char* GetBuffer();	HRESULT CheckBuffer(size_t sizeCheck, size_t sizeIncr);	HRESULT ProcessPathArray(VARIANTARG var);	HRESULT ProcessPath(wchar_t* pwszPath);	HRESULT ProcessPath(char* pszPath);	void AppendPath(const char* path);	void Append(const char* source);private:	static HRESULT ResolveLink(char* path, char* outPath);private:	char *pBuffer;	char *pPathBuffer;	size_t bufferSize;	/* No copying */private:	ScriptWriter(const ScriptWriter&);	ScriptWriter& operator=(const ScriptWriter&);};/***@author author*/class OpenFileScript : public ScriptWriter{	/* constructor */public:	OpenFileScript();	virtual ~OpenFileScript();	/* Overrides */protected:	virtual HRESULT WritePrefix();	virtual HRESULT ProcessSinglePath(const char* path);	virtual HRESULT WriteSuffix();	/* Data */private:	int m_nFiles;	/* No copying */private:	OpenFileScript(const OpenFileScript&);	OpenFileScript& operator=(const OpenFileScript&);};/***@author author*/class OpenDiffScript : public ScriptWriter{	/* constructor */public:	OpenDiffScript();	virtual ~OpenDiffScript();	/* Overrides */protected:	virtual HRESULT WritePrefix();	virtual HRESULT ProcessSinglePath(const char* path);	virtual HRESULT WriteSuffix();	/* Data */protected:	bool secondFile;	/* No copying */private:	OpenDiffScript(const OpenDiffScript&);	OpenDiffScript& operator=(const OpenDiffScript&);};/***@author author*/class StartAppScript : public ScriptWriter{	/* constructor */public:	StartAppScript(LPCTSTR lpszCmdLine);	virtual ~StartAppScript();	/* Overrides */protected:	virtual HRESULT WritePrefix();	virtual HRESULT ProcessSinglePath(const char* path);	virtual HRESULT WriteSuffix();	/* Data */private:	bool bFirstFile;	LPCTSTR m_lpszCmdLine;	/* No copying */private:	StartAppScript(const StartAppScript&);	StartAppScript& operator=(const StartAppScript&);};/***@author author*/class FileListScript : public ScriptWriter{	/* constructor */public:	FileListScript();	virtual ~FileListScript();	/* Overrides */protected:	virtual HRESULT WritePrefix();	virtual HRESULT ProcessSinglePath(const char* path);	virtual HRESULT WriteSuffix();	/* Data */private:	bool bFirstFile;	/* No copying */private:	FileListScript(const FileListScript&);	FileListScript& operator=(const FileListScript&);};#endif        //  #if !defined(__SCRIPTWRITER_H__)

⌨️ 快捷键说明

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