home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / NETSCAP.50 / WIN1998.ZIP / ns / cmd / xfe / xeditor.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-08  |  18.1 KB  |  433 lines

  1. /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  2.  *
  3.  * The contents of this file are subject to the Netscape Public License
  4.  * Version 1.0 (the "NPL"); you may not use this file except in
  5.  * compliance with the NPL.  You may obtain a copy of the NPL at
  6.  * http://www.mozilla.org/NPL/
  7.  *
  8.  * Software distributed under the NPL is distributed on an "AS IS" basis,
  9.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
  10.  * for the specific language governing rights and limitations under the
  11.  * NPL.
  12.  *
  13.  * The Initial Developer of this code under the NPL is Netscape
  14.  * Communications Corporation.  Portions created by Netscape are
  15.  * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
  16.  * Reserved.
  17.  */
  18. /* 
  19.  *
  20.  *  xeditor.h --- Editor-specific headers for the front end.
  21.  *  Should only be include by files that work with the editor.
  22.  *  Created: David Williams <djw@netscape.com>, Mar-12-1996
  23.  *
  24.  *  RCSID: "$Id: xeditor.h,v 3.1 1998/03/28 03:20:28 ltabb Exp $"
  25.  */
  26.  
  27.  
  28. #ifndef _XEDITOR_H_
  29. #define _XEDITOR_H_
  30.  
  31. #ifdef    __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. #include <edttypes.h>       /* collect EDT_<editor> types. */
  36. #include <pa_tags.h>        /* for P_UNUM_LIST, P_NUM_LIST, etc */
  37. #include "xfe.h"
  38.  
  39. /* These URLs shouldn't say gold, should say communicator */
  40.  
  41. #define XFE_EDITOR_DEFAULT_DOCUMENT_TEMPLATE_URL     \
  42. "http://home.netscape.com/home/gold4.0_templates.html" 
  43. #define XFE_WIZARD_TEMPLATE_URL \
  44. "http://home.netscape.com/home/gold4.0_wizard.html"
  45. #define XFE_EDITOR_NEW_DOC_NAME "file: Untitled"
  46.  
  47. typedef struct XFE_Frame XFE_Frame;
  48.  
  49. /*
  50.  *    A useful type.
  51.  */
  52. typedef struct fe_NameValueItem
  53. {
  54.     char* name;
  55.     char* value;
  56. } fe_NameValueItem;
  57.  
  58. /*
  59.  *    Put this edttype.h after 3.x merge.
  60.  */
  61. typedef enum {
  62.     ED_FONTSIZE_DEFAULT    = 0, /* == ED_FONTSIZE_ZERO */
  63.     ED_FONTSIZE_MINUS_TWO  = 1,
  64.     ED_FONTSIZE_MINUS_ONE  = 2,
  65.     ED_FONTSIZE_ZERO       = 3,
  66.     ED_FONTSIZE_PLUS_ONE   = 4,
  67.     ED_FONTSIZE_PLUS_TWO   = 5,
  68.     ED_FONTSIZE_PLUS_THREE = 6,
  69.     ED_FONTSIZE_PLUS_FOUR  = 7
  70. } ED_FontSize;
  71.  
  72. #define EDT_FONTSIZE_MAX ED_FONTSIZE_PLUS_FOUR
  73. #define EDT_FONTSIZE_MIN ED_FONTSIZE_MINUS_TWO
  74.  
  75. #define TF_ALL_MASK \
  76. (TF_BOLD|TF_ITALIC|TF_FIXED|TF_SUPER|TF_SUB|TF_STRIKEOUT|TF_BLINK|TF_UNDERLINE)
  77.  
  78. Boolean       fe_EditorCanUndo(MWContext*, XmString* label_return);
  79. Boolean       fe_EditorCanRedo(MWContext*, XmString* label_return);
  80. void          fe_EditorUndo(MWContext*);
  81. void          fe_EditorRedo(MWContext*);
  82. Boolean       fe_EditorLineBreakCanInsert(MWContext*);
  83. void          fe_EditorLineBreak(MWContext*, ED_BreakType type);
  84. void          fe_EditorNonBreakingSpace(MWContext*);
  85. void          fe_EditorParagraphMarksSetState(MWContext*, Boolean display);
  86. Boolean       fe_EditorParagraphMarksGetState(MWContext*);
  87. void          fe_EditorFontSizeSet(MWContext*, ED_FontSize size);
  88. ED_FontSize   fe_EditorFontSizeGet(MWContext*);
  89. void          fe_EditorCharacterPropertiesSet(MWContext*, ED_TextFormat);
  90. ED_TextFormat fe_EditorCharacterPropertiesGet(MWContext*);
  91. void          fe_EditorDoPoof(MWContext* context);
  92. void          fe_EditorParagraphPropertiesSet(MWContext*, int8);
  93. int8       fe_EditorParagraphPropertiesGet(MWContext*);
  94. Boolean       fe_EditorParagraphPropertiesGetAll(MWContext*,
  95.                                                  int8*,
  96.                                                  EDT_ListData*,
  97.                                                  ED_Alignment*);
  98. void          fe_EditorParagraphPropertiesSetAll(MWContext*,
  99.                                                  int8,
  100.                                                  EDT_ListData*,
  101.                                                  ED_Alignment);
  102. void          fe_EditorIndent(MWContext* context, Boolean is_outdent);
  103. void          fe_EditorInitActions(void);
  104. void          fe_EditorStaticInit(void);
  105. void          fe_EditorUpdateToolbar(MWContext*, ED_TextFormat);
  106. void          fe_EditorInsertHorizontalRule(MWContext* context);
  107. void          fe_EditorHorizontalRulePropertiesSet(MWContext*, EDT_HorizRuleData*);
  108. void          fe_EditorHorizontalRulePropertiesGet(MWContext*, EDT_HorizRuleData*);
  109. ED_Alignment  fe_EditorAlignGet(MWContext*);
  110. void          fe_EditorAlignSet(MWContext*, ED_Alignment);
  111.  
  112. void          fe_EditorHrefInsert(MWContext* context,
  113.                                   char* p_text, char* p_url);
  114. Boolean       fe_EditorHrefGet(MWContext* context, char** text, char** url);
  115. void          fe_EditorHrefSetUrl(MWContext* context, char* url);
  116. void          fe_EditorHrefClearUrl(MWContext* context);
  117.  
  118. void          fe_EditorToggleList(MWContext* context, intn tag_type);
  119. Boolean       fe_EditorListDataGet(MWContext* context, EDT_ListData* l_data);
  120. void          fe_EditorListDataSet(MWContext* context, EDT_ListData* l_data);
  121. void          fe_EditorColorSet(MWContext* context, LO_Color* color);
  122. Boolean       fe_EditorColorGet(MWContext* context, LO_Color* color);
  123.  
  124. Boolean       fe_EditorCanCut(MWContext* context);
  125. Boolean       fe_EditorCanCopy(MWContext* context);
  126. Boolean       fe_EditorCanPaste(MWContext* context);
  127. Boolean       fe_EditorCanPastePrimarySel(MWContext* context);
  128. Boolean       fe_EditorCut(MWContext* context, Time);
  129. Boolean       fe_EditorCopy(MWContext* context, Time);
  130. void          fe_EditorCopyToClipboard(MWContext*, char*, Time);
  131. Boolean       fe_EditorPaste(MWContext* context, Time);
  132. Boolean       fe_EditorPastePrimarySel(MWContext* context, Time);
  133. Boolean       fe_EditorSelectionContainsPoint(MWContext*, int32 x, int32 y);
  134. void          fe_EditorSelectAll(MWContext* context);
  135. void          fe_EditorDeleteItem(MWContext* context, Boolean previous);
  136. void          fe_EditorRemoveLinks(MWContext* context);
  137. Boolean       fe_EditorCanRemoveLinks(MWContext* context);
  138. void          fe_EditorInsertLinkDialogDo(MWContext* context);
  139. void          fe_EditorFind(MWContext* context);
  140. void          fe_EditorFindAgain(MWContext* context);
  141. Boolean       fe_EditorCanFindAgain(MWContext* context);
  142.  
  143. /* always makes a new window */
  144. MWContext*    fe_EditorNew(MWContext*, XFE_Frame*, Chrome*, char*);
  145. /* tries to re-use existing windows */
  146. MWContext*    fe_EditorEdit(MWContext*, XFE_Frame*, Chrome*, char*);
  147. /* open any editor, or make new */
  148. MWContext*    fe_EditorOpen(MWContext*, XFE_Frame*, Chrome*);
  149. MWContext*    fe_showEditor(Widget top, XFE_Frame*, Chrome*, URL_Struct*);
  150. void          fe_EditorDelete(MWContext* context);
  151. void          fe_EditorKill(MWContext* context);
  152. void          fe_EditorCleanup(MWContext* context);
  153. Boolean       fe_EditorSave(MWContext*);
  154. Boolean       fe_EditorSaveAs(MWContext*);
  155. void          fe_EditorPublish(MWContext*);
  156. void          fe_EditorReload(MWContext*, Boolean super_reload);
  157.  
  158. void          fe_EditorKeyInsert(MWContext*, Widget, XEvent*);
  159. void          fe_EditorTab(MWContext* context, Boolean forward, Boolean force);
  160.  
  161. void          fe_EditorGrabFocus(MWContext* context, XEvent *event);
  162. void          fe_EditorSelectionBegin(MWContext* context, XEvent *event);
  163. void          fe_EditorSelectionExtend(MWContext* context, XEvent *event);
  164. void          fe_EditorSelectionEnd(MWContext* context, XEvent *event);
  165.  
  166. /* Check whether an event is a shifted key or mouse button event */
  167. void xfe_GetShiftAndCtrl(XEvent* event, Boolean* shiftP, Boolean* ctrlP);
  168.  
  169. /*
  170.  *    Dialog interface.
  171.  */
  172. typedef enum fe_EditorPropertiesDialogType {
  173.     XFE_EDITOR_PROPERTIES_OOPS = 0,
  174.     XFE_EDITOR_PROPERTIES_LINK,
  175.     XFE_EDITOR_PROPERTIES_CHARACTER,
  176.     XFE_EDITOR_PROPERTIES_PARAGRAPH,
  177.     XFE_EDITOR_PROPERTIES_IMAGE,
  178.     XFE_EDITOR_PROPERTIES_HRULE,
  179.     XFE_EDITOR_PROPERTIES_HTML_TAG,
  180.     XFE_EDITOR_PROPERTIES_DOCUMENT,
  181.     XFE_EDITOR_PROPERTIES_IMAGE_INSERT,
  182.     XFE_EDITOR_PROPERTIES_LINK_INSERT,
  183.     XFE_EDITOR_PROPERTIES_TABLE,
  184.     XFE_EDITOR_PROPERTIES_TABLE_ROW,
  185.     XFE_EDITOR_PROPERTIES_TABLE_CELL,
  186.     XFE_EDITOR_PROPERTIES_TARGET
  187. } fe_EditorPropertiesDialogType;
  188.  
  189. Boolean       fe_EditorPropertiesDialogCanDo(MWContext*,
  190.                                               fe_EditorPropertiesDialogType);
  191. void          fe_EditorPropertiesDialogDo(MWContext*,
  192.                                               fe_EditorPropertiesDialogType);
  193. void          fe_EditorObjectPropertiesDialogDo(MWContext* context);
  194.  
  195. typedef enum fe_EditorDocumentPropertiesDialogType
  196. {
  197.      XFE_EDITOR_DOCUMENT_PROPERTIES_OOPS = 0,
  198.      XFE_EDITOR_DOCUMENT_PROPERTIES_APPEARANCE,
  199.      XFE_EDITOR_DOCUMENT_PROPERTIES_GENERAL,
  200.      XFE_EDITOR_DOCUMENT_PROPERTIES_ADVANCED
  201. } fe_EditorDocumentPropertiesDialogType;
  202.  
  203. void          fe_EditorDocumentPropertiesDialogDo(MWContext* context, 
  204.                               fe_EditorDocumentPropertiesDialogType tab_type);
  205.  
  206. Boolean       fe_EditorHorizontalRulePropertiesCanDo(MWContext* context);
  207. void          fe_EditorHorizontalRulePropertiesDialogDo(MWContext* context);
  208. void          fe_EditorSetColorsDialogDo(MWContext* context);
  209.  
  210. void          fe_EditorDefaultGetColors( LO_Color*  bg_color,
  211.                                          LO_Color*  normal_color,
  212.                                          LO_Color*  link_color,
  213.                                          LO_Color*  active_color,
  214.                                          LO_Color*  followed_color);
  215. char*         fe_EditorDefaultGetTemplate(void);
  216. Boolean       fe_EditorDefaultGetLastPublishLocation(MWContext* context,
  217.                                        char** location,
  218.                                        char** username,
  219.                                        char** password);
  220. void          fe_EditorDefaultSetLastPublishLocation(MWContext* context,
  221.                                        char* location,
  222.                                        char* username,
  223.                                        char* password);
  224.  
  225.  
  226.  
  227. /*
  228.  *    Document Properties API.
  229.  */
  230.  
  231. #define DOCUMENT_NORMAL_TEXT_COLOR   (0)
  232. #define DOCUMENT_LINK_TEXT_COLOR     (1)
  233. #define DOCUMENT_ACTIVE_TEXT_COLOR   (2)
  234. #define DOCUMENT_FOLLOWED_TEXT_COLOR (3)
  235. #define DOCUMENT_BACKGROUND_COLOR    (4)
  236.  
  237. #define DOCUMENT_NORMAL_TEXT_COLOR_MASK   (0x1<<(DOCUMENT_NORMAL_TEXT_COLOR))
  238. #define DOCUMENT_LINK_TEXT_COLOR_MASK     (0x1<<(DOCUMENT_LINK_TEXT_COLOR))
  239. #define DOCUMENT_ACTIVE_TEXT_COLOR_MASK   (0x1<<(DOCUMENT_ACTIVE_TEXT_COLOR))
  240. #define DOCUMENT_FOLLOWED_TEXT_COLOR_MASK (0x1<<(DOCUMENT_FOLLOWED_TEXT_COLOR))
  241. #define DOCUMENT_BACKGROUND_COLOR_MASK    (0x1<<(DOCUMENT_BACKGROUND_COLOR))
  242. #define DOCUMENT_BACKGROUND_IMAGE_MASK    (0x1<<5)
  243.  
  244. #define DOCUMENT_USE_CUSTOM_MASK          (0x1<<6)
  245. #define DOCUMENT_USE_IMAGE_MASK           (0x1<<7)
  246.  
  247. #define DOCUMENT_ALL_APPEARANCE                           \
  248. (DOCUMENT_BACKGROUND_COLOR_MASK|DOCUMENT_LINK_TEXT_COLOR_MASK|      \
  249.  DOCUMENT_NORMAL_TEXT_COLOR_MASK|DOCUMENT_FOLLOWED_TEXT_COLOR_MASK| \
  250.  DOCUMENT_ACTIVE_TEXT_COLOR_MASK|DOCUMENT_BACKGROUND_IMAGE_MASK|    \
  251.  DOCUMENT_USE_CUSTOM_MASK|DOCUMENT_USE_IMAGE_MASK)
  252.  
  253. typedef struct fe_EditorDocumentAppearancePropertiesStruct
  254. {
  255.     fe_DependentList* dependents;
  256.     MWContext* context;
  257.  
  258.     EDT_PageData page_data;
  259.     LO_Color colors[5];         /* customized by user */
  260.     LO_Color default_colors[5]; /* cache of defaults */
  261.     Boolean  use_custom;
  262.     Boolean  use_image;
  263.     Boolean  leave_image;
  264.     char*    image_path;
  265.     Widget   image_text;
  266.     unsigned changed;
  267.     Boolean  is_editor_preferences;
  268.  
  269. } fe_EditorDocumentAppearancePropertiesStruct;
  270.  
  271. Boolean       fe_EditorDocumentGetColors(MWContext*,
  272.                                          char*      background_image,
  273.                                          Boolean*   leave_image,
  274.                                          LO_Color*  bg_color,
  275.                                          LO_Color*  normal_color,
  276.                                          LO_Color*  link_color,
  277.                                          LO_Color*  active_color,
  278.                                          LO_Color*  followed_color);
  279. void          fe_EditorDocumentSetColors(MWContext* context,
  280.                                          char*      background_image,
  281.                                          Boolean    leave_image,
  282.                                          LO_Color*  bg_color,
  283.                                          LO_Color*  normal_color,
  284.                                          LO_Color*  link_color,
  285.                                          LO_Color*  active_color,
  286.                                          LO_Color*  followed_color);
  287. char*         fe_EditorDocumentGetTitle(MWContext* context);
  288. void          fe_EditorDocumentSetTitle(MWContext* context, char* name);
  289. void          fe_EditorDocumentSetMetaData(MWContext*, char* name, char* val);
  290. char*         fe_EditorDocumentGetMetaData(MWContext*, char* name);
  291.  
  292. void          fe_EditorDocumentSetAdvancedMetaDataList(MWContext*,
  293.                                                        fe_NameValueItem*);
  294. fe_NameValueItem* fe_EditorDocumentGetAdvancedMetaDataList(MWContext*);
  295. void          fe_EditorDocumentSetHttpEquivMetaDataList(MWContext* context,
  296.                                                         fe_NameValueItem*);
  297. fe_NameValueItem* fe_EditorDocumentGetHttpEquivMetaDataList(MWContext*);
  298. Boolean       fe_EditorPublishDialogDo(MWContext* context);
  299. void          fe_EditorDocumentSetImagesWithDocument(MWContext*, Boolean keep);
  300. Boolean       fe_EditorDocumentGetImagesWithDocument(MWContext*);
  301.  
  302. /*
  303.  *    Editor preferences API.
  304.  */
  305. void          fe_EditorPreferencesGetLinksAndImages(MWContext* context,
  306.                                                     Boolean*   links, 
  307.                                                     Boolean*   images);
  308. void          fe_EditorPreferencesSetLinksAndImages(MWContext* context,
  309.                                                     Boolean   links, 
  310.                                                     Boolean   images);
  311. char*         fe_EditorPreferencesGetAuthor(MWContext* context);
  312. void          fe_EditorPreferencesSetAuthor(MWContext* context, char*);
  313. Boolean       fe_EditorPreferencesGetColors(MWContext*,
  314.                                          char*      background_image,
  315.                                          LO_Color*  bg_color,
  316.                                          LO_Color*  normal_color,
  317.                                          LO_Color*  link_color,
  318.                                          LO_Color*  active_color,
  319.                                          LO_Color*  followed_color);
  320. void          fe_EditorPreferencesSetColors(MWContext* context,
  321.                                          char*      background_image,
  322.                                          LO_Color*  bg_color,
  323.                                          LO_Color*  normal_color,
  324.                                          LO_Color*  link_color,
  325.                                          LO_Color*  active_color,
  326.                                          LO_Color*  followed_color);
  327. void          fe_EditorPreferencesSetEditors(MWContext*, char*, char*);
  328. void          fe_EditorPreferencesGetEditors(MWContext*, char**, char**);
  329. void          fe_EditorEditImage(MWContext* context, char* file);
  330. void          fe_EditorEditSource(MWContext* context);
  331. char*         fe_EditorPreferencesGetTemplate(MWContext* context);
  332. void          fe_EditorPreferencesSetTemplate(MWContext* context, char*);
  333. void          fe_EditorPreferencesDialogDo(MWContext*, unsigned tab_type);
  334. int           fe_EditorGetPublishingHistory(unsigned, char**, char**, char**);
  335. Boolean       fe_EditorPreferencesGetPublishLocation(MWContext* context,
  336.                                                      char** location,
  337.                                                      char** username,
  338.                                                      char** password);
  339. void          fe_EditorPreferencesSetPublishLocation(MWContext* context,
  340.                                                      char* location,
  341.                                                      char* username,
  342.                                                      char* password);
  343. char*         fe_EditorPreferencesGetBrowseLocation(MWContext* context);
  344. void          fe_EditorPreferencesSetBrowseLocation(MWContext*,    char*);
  345. void          fe_EditorPreferencesGetAutoSave(MWContext* context,
  346.                                               Boolean*   enable,
  347.                                               unsigned*  time);
  348. void          fe_EditorPreferencesSetAutoSave(MWContext* context,
  349.                                               Boolean    enable,
  350.                                               unsigned   time);
  351. /* C adaptor to call C++ fe_showEditorPreferences(XFE_Component*,MWContext*)*/
  352. void          fe_EditorShowNewPreferences(MWContext*);
  353.  
  354. void          fe_EditorTargetPropertiesDialogDo(MWContext*);
  355. void          fe_EditorHtmlPropertiesDialogDo(MWContext*);
  356. char*         fe_EditorGetTemplateURL(MWContext* context);
  357. char*         fe_EditorGetWizardURL(MWContext* context);
  358.  
  359. typedef struct EDT_AllTableData
  360. {
  361.     EDT_TableData        td;
  362.     EDT_TableCaptionData cd;
  363.     Boolean              has_caption;
  364. } EDT_AllTableData;
  365.  
  366. void          fe_EditorTableDelete(MWContext*);
  367. Boolean       fe_EditorTableCanInsert(MWContext*);
  368. void          fe_EditorTableInsert(MWContext*, EDT_AllTableData* data);
  369. Boolean       fe_EditorTableCanDelete(MWContext*);
  370. Boolean       fe_EditorTableRowCanInsert(MWContext*);
  371. void          fe_EditorTableRowInsert(MWContext* context, EDT_TableRowData*);
  372. Boolean       fe_EditorTableRowCanDelete(MWContext*);
  373. void          fe_EditorTableRowDelete(MWContext* context);
  374. Boolean       fe_EditorTableColumnCanInsert(MWContext*);
  375. void          fe_EditorTableColumnInsert(MWContext*, EDT_TableCellData*);
  376. void          fe_EditorTableColumnDelete(MWContext* context);
  377. Boolean       fe_EditorTableColumnCanDelete(MWContext* context);
  378. Boolean       fe_EditorTableCellCanInsert(MWContext*);
  379. void          fe_EditorTableCellInsert(MWContext* context, EDT_TableCellData*);
  380. Boolean       fe_EditorTableCellCanDelete(MWContext*);
  381. void          fe_EditorTableCellDelete(MWContext* context);
  382. Boolean       fe_EditorTableGetData(MWContext*, EDT_AllTableData*);
  383. void          fe_EditorTableSetData(MWContext*, EDT_AllTableData*);
  384. Boolean       fe_EditorTableRowGetData(MWContext*, EDT_TableRowData*);
  385. void          fe_EditorTableRowSetData(MWContext*, EDT_TableRowData*);
  386. Boolean       fe_EditorTableCellGetData(MWContext*, EDT_TableCellData*);
  387. void          fe_EditorTableCellSetData(MWContext*, EDT_TableCellData*);
  388. void          fe_EditorDisplayTablesSet(MWContext* context, Boolean display);
  389. Boolean       fe_EditorDisplayTablesGet(MWContext* context);
  390.  
  391. /*
  392.  *    Tables dialogs.
  393.  */
  394. void          fe_EditorTableCreateDialogDo(MWContext*);
  395. void          fe_EditorTablePropertiesDialogDo(MWContext*, fe_EditorPropertiesDialogType);
  396.  
  397. Boolean       fe_EditorCheckUnsaved(MWContext* context);
  398. void          fe_EditorDisplaySource(MWContext* context);
  399. char*         fe_EditorMakeName(MWContext*, char* buf, unsigned maxsize);
  400. void          fe_EditorRefresh(MWContext*);
  401. MWContext*    fe_EditorGetURL(MWContext* context, char* address);
  402. void          fe_EditorNotifyBackgroundChanged(MWContext*);
  403. void          fe_EditorRefreshArea(MWContext*, int, int, unsigned, unsigned);
  404. void          fe_EditorGetUrlExitRoutine(MWContext*, URL_Struct*, int status);
  405.  
  406. /*
  407.  *    Misc stuff that should be elsewhere
  408.  */
  409. enum {
  410.     XFE_DIALOG_YES_BUTTON = (XmDIALOG_DIR_LIST_LABEL+1),
  411.     XFE_DAILOG_YESTOALL_BUTTON,
  412.     XFE_DIALOG_NO_BUTTON,
  413.     XFE_DIALOG_NOTOALL_BUTTON,
  414.     XFE_DIALOG_CANCEL_BUTTON,
  415.     XFE_DIALOG_DESTROY_BUTTON
  416. };
  417.  
  418. XtPointer     fe_GetUserData(Widget);
  419. Widget        fe_OptionMenuSetHistory(Widget, unsigned);
  420. char*         FE_CondenseURL(char* target, char* source, unsigned target_len);
  421. Boolean          fe_EditorDocumentIsSaved(MWContext* context);
  422. int           fe_YesNoCancelDialog(MWContext*, char* name, char* message);
  423. MWContext*    fe_GetURLInBrowser(MWContext* context, URL_Struct *url);
  424. Boolean       fe_HintDialog(MWContext* context, char* message);
  425. void          fe_editor_scroll(MWContext *context);
  426. void           fe_editor_delete_response(Widget, XtPointer, XtPointer);
  427.  
  428. #ifdef    __cplusplus
  429. }
  430. #endif
  431.  
  432. #endif  /* _XEDITOR_H_ */
  433.