4 * $TOG: Editor.hh /main/11 1998/02/03 10:28:56 mgreess $
6 * RESTRICTED CONFIDENTIAL INFORMATION:
8 * The information in this document is subject to special
9 * restrictions in a confidential disclosure agreement between
10 * HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
11 * document outside HP, IBM, Sun, USL, SCO, or Univel without
12 * Sun's specific written approval. This document and all copies
13 * and derivative works thereof must be returned or destroyed at
16 * Copyright 1993 Sun Microsystems, Inc. All rights reserved.
27 // Get all the Bento-related API and types (CMContainer, etc.)
29 #include <DtMail/DtMail.hh>
30 #include "UIComponent.h"
32 extern int use_XmTextEditor;
36 class Editor : public UIComponent {
42 virtual void initialize() = 0;
44 virtual void set_contents(
46 const unsigned long len
49 virtual void set_contents(const char * path) = 0;
51 virtual char * get_contents() = 0;
53 virtual void append_to_contents(
54 const char *new_contents,
55 const unsigned long len
58 virtual void append_to_contents(const char * path) = 0;
60 virtual void append_at_cursor(const char *path) = 0;
61 virtual void append_at_cursor(
63 const unsigned long len
67 IF_NONE, // No special format
68 IF_INDENTED, // Indented with indent_prefix
69 IF_BRACKETED // Bracketed
73 BF_NONE, // No bracketing
74 BF_INCLUDE, // As included message,
75 BF_FORWARD // As forwarded message
79 HF_NONE, // Do not insert headers in message body.
80 HF_FULL, // Insert all headers.
81 HF_ABBREV // Do not insert ignored headers.
84 virtual void append_newline_to_contents();
85 virtual DtMailBoolean set_message(
86 DtMail::Message * msg,
87 char ** status_string,
88 HeaderFormat header_format = HF_ABBREV,
89 InsertFormat format = IF_NONE,
90 BracketFormat brackets = BF_NONE);
92 virtual void set_attachment(
93 DtMail::BodyPart * body_part,
94 InsertFormat format = IF_NONE,
95 BracketFormat brackets = BF_NONE);
97 virtual void clear_contents() = 0;
98 virtual int no_text() = 0;
100 virtual Widget get_editor() = 0;
101 virtual Widget get_text_widget() = 0;
102 virtual Pixel get_text_foreground() = 0;
103 virtual Pixel get_text_background() = 0;
104 virtual Dimension get_text_width() = 0;
105 virtual XmFontList get_text_fontList() = 0;
107 virtual int get_columns() = 0;
108 virtual int get_rows() = 0;
109 virtual void set_columns(int ncolumns) = 0;
110 virtual void set_editable(Boolean value) = 0;
111 virtual void set_rows(int nrows) = 0;
112 virtual void update_display_from_props(void);
114 virtual void auto_show_cursor_off() = 0;
115 virtual void auto_show_cursor_restore() = 0;
117 virtual void set_to_top() = 0;
118 virtual void set_to_bottom() = 0;
120 virtual void find_change() = 0;
121 virtual void spell() = 0;
122 virtual void format() = 0;
123 virtual void set_word_wrap(Boolean value) = 0;
124 virtual void undo_edit() = 0;
125 virtual void cut_selection() = 0;
126 virtual void copy_selection() = 0;
127 virtual void paste_from_clipboard() = 0;
128 virtual void paste_special_from_clipboard(InsertFormat) = 0;
129 virtual void clear_selection() = 0;
130 virtual void delete_selection() = 0;
131 virtual void select_all() = 0;
133 virtual void disable_redisplay() = 0;
134 virtual void enable_redisplay() = 0;
138 class AbstractEditorParent {
140 Widget _attachmentPopupMenu;
141 Widget _textPopupMenu;
142 MenuBar *_menuPopupAtt;
143 MenuBar *_menuPopupText;
146 AbstractEditorParent();
147 virtual ~AbstractEditorParent();
149 virtual const char *const className()
150 { return "AbstractEditorParent"; }
152 virtual DtMailEditor * get_editor() = 0;
154 // Text/attachment (de)selection methods
156 virtual void text_selected() = 0;
157 virtual void text_unselected() = 0;
158 virtual void attachment_selected() = 0;
159 virtual void all_attachments_deselected() = 0;
160 virtual void all_attachments_selected() = 0;
161 virtual void add_att(char *) = 0;
162 virtual void add_att(char *, DtMailBuffer) = 0;
163 virtual void add_att(DtMailBuffer) = 0;
165 virtual void postAttachmentPopup(XEvent *event);
166 virtual void postTextPopup(XEvent *event);
168 virtual void addAttachmentActions(
172 virtual void invokeAttachmentAction(int) = 0;
173 virtual void removeAttachmentActions() = 0;
175 virtual void selectAllAttachments() = 0;
177 virtual void showAttachArea() = 0;
178 virtual void hideAttachArea() = 0;
180 virtual void attachmentFeedback(Boolean) = 0;