1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
|
/*
* Copyright 1992 The University of Newcastle upon Tyne
*
* Permission to use, copy, modify and distribute this software and its
* documentation for any purpose other than its commercial exploitation
* is hereby granted without fee, provided that the above copyright
* notice appear in all copies and that both that copyright notice and
* this permission notice appear in supporting documentation, and that
* the name of The University of Newcastle upon Tyne not be used in
* advertising or publicity pertaining to distribution of the software
* without specific, written prior permission. The University of
* Newcastle upon Tyne makes no representations about the suitability of
* this software for any purpose. It is provided "as is" without express
* or implied warranty.
*
* THE UNIVERSITY OF NEWCASTLE UPON TYNE DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF
* NEWCASTLE UPON TYNE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
* USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*
* Author: Jim Wight (j.k.wight@newcastle.ac.uk)
* Department of Computing Science
* University of Newcastle upon Tyne, UK
*/
#ifndef AxeEditorP_h
#define AxeEditorP_h
#include <X11/CompositeP.h>
#include <AxeEditor.h>
#include "regexp.h"
struct childInfo {
Boolean first;
Boolean replace;
Widget ed;
Widget window;
XawTextPosition selStart;
XawTextPosition selEnd;
};
typedef struct {
String name;
Boolean chosen;
} MenuRecord;
typedef struct {
String name;
String action;
} ButtonRecord;
typedef struct {
Widget widget;
XtCallbackRec cbr;
} ShowMenuRec, *ShowMenuList;
typedef struct {
String label;
String name;
XFontStruct *fontStruct;
} FontListStruct;
typedef struct
{
XrmQuark name;
int numArgs;
String arg;
} MacroCommand, *MacroList;
typedef struct {
/* Class variables */
XtPointer extension;
Pixmap axeLogo;
Pixmap fwdArrow;
Pixmap bwdArrow;
Pixmap vtCentre;
Pixmap hzCentre;
Pixmap tickMark;
Pixmap modMark;
Widget *editors;
int numberOfEditors;
int maxEditors;
Widget menu_parent;
Widget show_menu;
int show_menu_callbacks;
ShowMenuList show_menu_callback_list;
XtTranslations mini_translations;
XtAccelerators mini_accelerators;
FontListStruct *mini_menu;
FontListStruct *default_mini_menu;
char *home_dir;
int home_dir_len;
char *current_dir;
int current_dir_len;
XtActionHookId macro_id;
int macro_size;
int max_macro_size;
Boolean in_macro_string;
MacroList macro_commands;
Boolean show_work_proc;
} AxeEditorClassPart;
typedef struct _AxeEditorClassRec {
CoreClassPart core_class;
CompositeClassPart composite_class;
AxeEditorClassPart axeEditor_class;
} AxeEditorClassRec;
extern AxeEditorClassRec axeEditorClassRec;
typedef struct {
/* Resources */
String file;
String menu_list;
Boolean buttons;
String button_list;
int info_timeout;
Boolean focus_to_text;
Boolean suppressFilename;
Boolean suppressInfobar;
Boolean suppressMinibuffer;
String font_list;
Dimension internal_border_width;
XtCallbackList change_callbacks;
String full_pathnames;
/* Private data */
Widget file_name;
Widget info_bar;
XtIntervalId info_timer;
Widget menu_bar;
Widget ed_deck;
Widget mini_buffer;
Widget mini_button;
Widget confirmer;
FontListStruct *font_table;
XtTranslations defaultTextTranslations;
Boolean accelerateMini;
} AxeEditorPart;
typedef struct _AxeEditorRec {
CorePart core;
CompositePart composite;
AxeEditorPart axeEditor;
} AxeEditorRec;
#endif /* AxeEditorP_h */
|