1 #ifndef GADGETS_TEXTEDITOR_H
    2 #define GADGETS_TEXTEDITOR_H
    3 
    4 /*
    5 	texteditor.gadget definitions (V45)
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef REACTION_REACTION_H
   11 # include <reaction/reaction.h>
   12 #endif
   13 
   14 #ifndef INTUITION_GADGETCLASS_H
   15 # include <intuition/gadgetclass.h>
   16 #endif
   17 
   18 #ifndef IMAGES_BEVEL_H
   19 # include <images/bevel.h>
   20 #endif
   21 
   22 #pragma pack(2)
   23 
   24 
   25 /* Attributes defined by texteditor.gadget */
   26 
   27 #define TEXTEDITOR_Dummy                (REACTION_Dummy + 0x26000)
   28 
   29 #define GA_TEXTEDITOR_AreaMarked        (TEXTEDITOR_Dummy + 0x14)
   30 #define GA_TEXTEDITOR_ColorMap          (TEXTEDITOR_Dummy + 0x2F)
   31 #define GA_TEXTEDITOR_Contents          (TEXTEDITOR_Dummy + 0x02)
   32 #define GA_TEXTEDITOR_CursorX           (TEXTEDITOR_Dummy + 0x04)
   33 #define GA_TEXTEDITOR_CursorY           (TEXTEDITOR_Dummy + 0x05)
   34 #define GA_TEXTEDITOR_DoubleClickHook   (TEXTEDITOR_Dummy + 0x06)
   35 #define GA_TEXTEDITOR_ExportHook        (TEXTEDITOR_Dummy + 0x08)
   36 #define GA_TEXTEDITOR_ExportWrap        (TEXTEDITOR_Dummy + 0x09)
   37 #define GA_TEXTEDITOR_FixedFont         (TEXTEDITOR_Dummy + 0x0A)
   38 #define GA_TEXTEDITOR_Flow              (TEXTEDITOR_Dummy + 0x0B)
   39 #define GA_TEXTEDITOR_HasChanged        (TEXTEDITOR_Dummy + 0x0C)
   40 #define GA_TEXTEDITOR_HorizontalScroll  (TEXTEDITOR_Dummy + 0x2D)
   41 #define GA_TEXTEDITOR_ImportHook        (TEXTEDITOR_Dummy + 0x0E)
   42 #define GA_TEXTEDITOR_ImportWrap        (TEXTEDITOR_Dummy + 0x10)
   43 #define GA_TEXTEDITOR_InsertMode        (TEXTEDITOR_Dummy + 0x0F)
   44 #define GA_TEXTEDITOR_KeyBindings       (TEXTEDITOR_Dummy + 0x11)
   45 #define GA_TEXTEDITOR_NumLock           (TEXTEDITOR_Dummy + 0x18)
   46 #define GA_TEXTEDITOR_Pen               (TEXTEDITOR_Dummy + 0x2E)
   47 #define GA_TEXTEDITOR_PopWindow_Open    (TEXTEDITOR_Dummy + 0x03)
   48 #define GA_TEXTEDITOR_Prop_DeltaFactor  (TEXTEDITOR_Dummy + 0x0D)
   49 #define GA_TEXTEDITOR_Prop_Entries      (TEXTEDITOR_Dummy + 0x15)
   50 #define GA_TEXTEDITOR_Prop_First        (TEXTEDITOR_Dummy + 0x20)
   51 #define GA_TEXTEDITOR_Prop_Release      (TEXTEDITOR_Dummy + 0x01)
   52 #define GA_TEXTEDITOR_Prop_Visible      (TEXTEDITOR_Dummy + 0x16)
   53 #define GA_TEXTEDITOR_Quiet             (TEXTEDITOR_Dummy + 0x17)
   54 #define GA_TEXTEDITOR_ReadOnly          (TEXTEDITOR_Dummy + 0x19)
   55 #define GA_TEXTEDITOR_RedoAvailable     (TEXTEDITOR_Dummy + 0x13)
   56 #define GA_TEXTEDITOR_Separator         (TEXTEDITOR_Dummy + 0x2C)
   57 #define GA_TEXTEDITOR_StyleBold         (TEXTEDITOR_Dummy + 0x1C)
   58 #define GA_TEXTEDITOR_StyleItalic       (TEXTEDITOR_Dummy + 0x1D)
   59 #define GA_TEXTEDITOR_StyleUnderline    (TEXTEDITOR_Dummy + 0x1E)
   60 #define GA_TEXTEDITOR_TypeAndSpell      (TEXTEDITOR_Dummy + 0x07)
   61 #define GA_TEXTEDITOR_UndoAvailable     (TEXTEDITOR_Dummy + 0x12)
   62 #define GA_TEXTEDITOR_WrapBorder        (TEXTEDITOR_Dummy + 0x21)
   63 
   64 
   65 #undef TEXTEDITOR_Dummy
   66 #define TEXTEDITOR_Dummy                (0x45000)
   67 
   68 #define GM_TEXTEDITOR_AddKeyBindings    (TEXTEDITOR_Dummy + 0x22)
   69 #define GM_TEXTEDITOR_ARexxCmd          (TEXTEDITOR_Dummy + 0x23)
   70 #define GM_TEXTEDITOR_BlockInfo         (TEXTEDITOR_Dummy + 0x30)
   71 #define GM_TEXTEDITOR_ClearText         (TEXTEDITOR_Dummy + 0x24)
   72 #define GM_TEXTEDITOR_ExportText        (TEXTEDITOR_Dummy + 0x25)
   73 #define GM_TEXTEDITOR_HandleError       (TEXTEDITOR_Dummy + 0x1F)
   74 #define GM_TEXTEDITOR_InsertText        (TEXTEDITOR_Dummy + 0x26)
   75 #define GM_TEXTEDITOR_MacroBegin        (TEXTEDITOR_Dummy + 0x27)
   76 #define GM_TEXTEDITOR_MacroEnd          (TEXTEDITOR_Dummy + 0x28)
   77 #define GM_TEXTEDITOR_MacroExecute      (TEXTEDITOR_Dummy + 0x29)
   78 #define GM_TEXTEDITOR_MarkText          (TEXTEDITOR_Dummy + 0x2C)
   79 #define GM_TEXTEDITOR_Replace           (TEXTEDITOR_Dummy + 0x2A)
   80 #define GM_TEXTEDITOR_Search            (TEXTEDITOR_Dummy + 0x2B)
   81 
   82 
   83 struct GP_TEXTEDITOR_ARexxCmd
   84 {
   85 	ULONG              MethodID;
   86 	struct GadgetInfo *GInfo;
   87 	STRPTR             command;
   88 };
   89 
   90 struct GP_TEXTEDITOR_BlockInfo
   91 {
   92 	ULONG              MethodID;
   93 	struct GadgetInfo *GInfo;
   94 	ULONG             *startx;
   95 	ULONG             *starty;
   96 	ULONG             *stopx;
   97 	ULONG             *stopy;
   98 };
   99 
  100 struct GP_TEXTEDITOR_ClearText
  101 {
  102 	ULONG              MethodID;
  103 	struct GadgetInfo *GInfo;
  104 };
  105 
  106 struct GP_TEXTEDITOR_ExportText
  107 {
  108 	ULONG              MethodID;
  109 	struct GadgetInfo *GInfo;
  110 };
  111 
  112 struct GP_TEXTEDITOR_HandleError
  113 {
  114 	ULONG MethodID;
  115 	ULONG errorcode;
  116 };
  117 
  118 struct GP_TEXTEDITOR_InsertText
  119 {
  120 	ULONG              MethodID;
  121 	struct GadgetInfo *GInfo;
  122 	STRPTR             text;
  123 	LONG               pos;
  124 };
  125 
  126 struct GP_TEXTEDITOR_MarkText
  127 {
  128 	ULONG              MethodID;
  129 	struct GadgetInfo *GInfo;
  130 	ULONG              start_crsr_x;
  131 	ULONG              start_crsr_y;
  132 	ULONG              stop_crsr_x;
  133 	ULONG              stop_crsr_y;
  134 };
  135 
  136 struct GP_TEXTEDITOR_Replace
  137 {
  138 	ULONG              MethodID;
  139 	struct GadgetInfo *GInfo;
  140 	STRPTR             newstring;
  141 	ULONG              flags;
  142 };
  143 
  144 struct GP_TEXTEDITOR_Search
  145 {
  146 	ULONG              MethodID;
  147 	struct GadgetInfo *GInfo;
  148 	STRPTR             string;
  149 	ULONG              flags;
  150 };
  151 
  152 
  153 #define GV_TEXTEDITOR_ExportHook_Plain       0x00000000
  154 #define GV_TEXTEDITOR_ExportHook_EMail       0x00000001
  155 
  156 #define GV_TEXTEDITOR_Flow_Left              0x00000000
  157 #define GV_TEXTEDITOR_Flow_Center            0x00000001
  158 #define GV_TEXTEDITOR_Flow_Right             0x00000002
  159 #define GV_TEXTEDITOR_Flow_Justified         0x00000003
  160 
  161 #define GV_TEXTEDITOR_ImportHook_Plain       0x00000000
  162 #define GV_TEXTEDITOR_ImportHook_EMail       0x00000002
  163 #define GV_TEXTEDITOR_ImportHook_MIME        0x00000003
  164 #define GV_TEXTEDITOR_ImportHook_MIMEQuoted  0x00000004
  165 
  166 #define GV_TEXTEDITOR_InsertText_Cursor      0x00000000
  167 #define GV_TEXTEDITOR_InsertText_Top         0x00000001
  168 #define GV_TEXTEDITOR_InsertText_Bottom      0x00000002
  169 
  170 #define GV_TEXTEDITOR_LengthHook_Plain       0x00000000
  171 #define GV_TEXTEDITOR_LengthHook_ANSI        0x00000001
  172 #define GV_TEXTEDITOR_LengthHook_HTML        0x00000002
  173 #define GV_TEXTEDITOR_LengthHook_MAIL        0x00000003
  174 
  175 
  176 #define GF_TEXTEDITOR_Search_FromTop        (1<<0)
  177 #define GF_TEXTEDITOR_Search_Next           (1<<1)
  178 #define GF_TEXTEDITOR_Search_CaseSensitive  (1<<2)
  179 #define GF_TEXTEDITOR_Search_DOSPattern     (1<<3)
  180 #define GF_TEXTEDITOR_Search_Backwards      (1<<4)
  181 
  182 
  183 /* GM_TEXTEDITOR_HandleError values */
  184 
  185 #define Error_ClipboardIsEmpty        0x01
  186 #define Error_ClipboardIsNotFTXT      0x02
  187 #define Error_MacroBufferIsFull       0x03
  188 #define Error_MemoryAllocationFailed  0x04
  189 #define Error_NoAreaMarked            0x05
  190 #define Error_NoMacroDefined          0x06
  191 #define Error_NothingToRedo           0x07
  192 #define Error_NothingToUndo           0x08
  193 #define Error_NotEnoughUndoMem        0x09
  194 #define Error_StringNotFound          0x0A
  195 #define Error_NoBookmarkInstalled     0x0B
  196 #define Error_BookmarkHasBeenLost     0x0C
  197 
  198 
  199 struct ClickMessage
  200 {
  201 	STRPTR LineContents;
  202 	ULONG  ClickPosition;
  203 };
  204 
  205 
  206 /* Separator type */
  207 
  208 #define LNSB_Top         0
  209 #define LNSB_Middle      1
  210 #define LNSB_Bottom      2
  211 #define LNSB_StrikeThru  3
  212 #define LNSB_Thick       4
  213 
  214 #define LNSF_Top         (1<<LNSB_Top)
  215 #define LNSF_Middle      (1<<LNSB_Middle)
  216 #define LNSF_Bottom      (1<<LNSB_Bottom)
  217 #define LNSF_StrikeThru  (1<<LNSB_StrikeThru)
  218 #define LNSF_Thick       (1<<LNSB_Thick)
  219 
  220 
  221 #pragma pack()
  222 
  223 #endif /* GADGETS_TEXTEDITOR_H */