1/* 2 * Author: William Chia-Wei Cheng (bill.cheng@acm.org) 3 * 4 * Copyright (C) 2001-2009, William Chia-Wei Cheng. 5 * 6 * This file may be distributed under the terms of the Q Public License 7 * as defined by Trolltech AS of Norway and appearing in the file 8 * LICENSE.QPL included in the packaging of this file. 9 * 10 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING 11 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 12 * PURPOSE. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, 13 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING 14 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 15 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 16 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 * 18 * @(#)$Header: /mm2/home/cvs/bc-src/tgif/cutpaste.e,v 1.21 2011/05/19 16:46:22 william Exp $ 19 */ 20 21#ifndef _CUTPASTE_E_ 22#define _CUTPASTE_E_ 23 24#define CBI_TGIF 0 25#define CBI_UTF8 1 26#define CBI_TEXT 2 27 28typedef struct tagSetCutBufferInfo { 29 int tgif_valid; 30 int utf8_valid; 31 int text_valid; 32 struct DynStrRec tgif_dyn_str; 33 struct DynStrRec utf8_dyn_str; 34 struct DynStrRec text_dyn_str; 35} SetCutBufferInfo; 36 37extern int copyingToCutBuffer; 38extern int pastingFile; 39 40extern char gszFilesIniFile[MAXPATHLENGTH]; 41extern char *gpszRecentFilesSec; 42extern char *gpszRecentFilesCountKey; 43 44extern int cutBufferIsTgifObj; 45extern int cutBufferIsUTF8; 46extern struct DynStrRec dsCutBuffer; 47 48extern Time startSelectionOwnershipTime; 49extern Time endSelectionOwnershipTime; 50extern int startSelectionOwnershipTimeValid; 51extern int endSelectionOwnershipTimeValid; 52 53extern SetCutBufferInfo gSetCutBufferInfo; 54 55#ifdef _INCLUDE_FROM_CUTPASTE_C_ 56#undef extern 57#define extern 58#endif /*_INCLUDE_FROM_CUTPASTE_C_*/ 59 60extern int WriteBufToCutBuffer ARGS_DECL((char *buf, int buf_sz, 61 int buf_is_simple_string, 62 int buf_is_utf8_string, 63 SetCutBufferInfo*)); 64extern void ClearSelection ARGS_DECL((void)); 65extern int CopyToCutBuffer ARGS_DECL((void)); 66extern int CopyPlainTextAsObject ARGS_DECL((void)); 67extern void CutToCutBuffer ARGS_DECL((void)); 68extern unsigned int PasteString ARGS_DECL((char*, int highlight, 69 int record_cmd)); 70extern void AssignNewObjIds ARGS_DECL((struct ObjRec *)); 71extern void FreeSelectionOrCutBuffer ARGS_DECL((char*, int nFromSelection)); 72extern char * FetchSelectionOrCutBuffer ARGS_DECL((int *pnLen, 73 int *pnFromSelection)); 74extern int PasteFromCutBuffer ARGS_DECL((void)); 75extern int PasteFromFile ARGS_DECL((void)); 76extern char * GetTextBytesFromSelection ARGS_DECL((int compound_text, 77 unsigned long*)); 78extern int PasteCompoundText ARGS_DECL((void)); 79extern int CopyDoubleByteString ARGS_DECL((void)); 80extern int PasteDoubleByteString ARGS_DECL((void)); 81extern void CleanUpCutBuffer ARGS_DECL((void)); 82 83extern void SetIntPropertyMask ARGS_DECL((long lWhich, int nValue, 84 char *pszValue, long *plMask, 85 long *plSkip, 86 struct PropertiesRec *pProp)); 87extern void SetFontPropertyMask ARGS_DECL((int nDoubleByte, int nFont, 88 int nStyle, long *plMask, 89 long *plSkip, 90 struct PropertiesRec *pProp)); 91extern void SetCTMPropertyMask ARGS_DECL((struct XfrmMtrxRec *ctm, 92 long *plMask, long *plSkip, 93 struct PropertiesRec *pProp)); 94extern void SetTextPropMask ARGS_DECL((struct ObjRec *, long *plMask, 95 long *plSkip, 96 struct PropertiesRec *pProp)); 97extern void CleanUpProperties ARGS_DECL((void)); 98extern void InitProperties ARGS_DECL((void)); 99extern void DoGetProperty ARGS_DECL((int index)); 100extern EditAttrInfo *CreateGetPropertyInfo ARGS_DECL((void)); 101extern void CopyProperties ARGS_DECL((int nPrompt)); 102extern void SaveProperties ARGS_DECL((void)); 103extern void PasteProperties ARGS_DECL((int nPrompt)); 104extern void RestoreProperties ARGS_DECL((void)); 105 106extern void BackupCopiedProperties ARGS_DECL((void)); 107extern void RestoreCopiedProperties ARGS_DECL((void)); 108extern int EditIniSection ARGS_DECL((char *pszTitle, char *pszSection, 109 char *pszIniFile, AfterLoopFunc*)); 110extern char *SelectFromIniSection ARGS_DECL((char *pszTitle, 111 char *pszSection, 112 char *pszIniFile)); 113 114extern void FreeRecentFilesListing ARGS_DECL((KeyValInfo*, int)); 115extern KeyValInfo *RecentFilesListing ARGS_DECL((int *pnEntries)); 116extern void OpenARecentlyUsedFile ARGS_DECL((int file_index)); 117extern void AddARecentlyUsedFile ARGS_DECL((char *path)); 118extern int InitRecentFiles ARGS_DECL((void)); 119extern void CleanUpRecentFiles ARGS_DECL((void)); 120 121extern int CreateSimpleStringObj ARGS_DECL((char*)); 122extern void SaveSimpleStringObj ARGS_DECL((FILE*, struct ObjRec *)); 123extern void ReadSimpleStringObj ARGS_DECL((FILE*, char*, struct ObjRec **)); 124extern void FreeSimpleStringObj ARGS_DECL((struct ObjRec *)); 125 126extern void ReplaceGraphic ARGS_DECL((void)); 127 128extern void ImportMultipageTextFile ARGS_DECL((void)); 129extern void SetMarginsForImportMultipageTextFile ARGS_DECL((void)); 130extern void ToggleWordWrapDuringImportMultipageTextFile ARGS_DECL((void)); 131extern int RefreshImportMutipageTextFileMenu ARGS_DECL((TgMenu*)); 132extern TgMenu *CreateImportMutipageTextFileMenu ARGS_DECL((TgMenu*, int X, 133 int Y, TgMenuInfo*, int status_str_xlated)); 134 135extern void CleanUpCutPaste ARGS_DECL((void)); 136extern int InitCutPaste ARGS_DECL((void)); 137 138#ifdef _INCLUDE_FROM_CUTPASTE_C_ 139#undef extern 140#ifndef _NO_RECURSIVE_EXTERN 141#define extern extern 142#endif /* ~_NO_RECURSIVE_EXTERN */ 143#endif /*_INCLUDE_FROM_CUTPASTE_C_*/ 144 145#endif /*_CUTPASTE_E_*/ 146