19 #ifndef LIB_QUENTIER_NOTE_EDITOR_I_NOTE_EDITOR_BACKEND_H 20 #define LIB_QUENTIER_NOTE_EDITOR_I_NOTE_EDITOR_BACKEND_H 22 #include <quentier/utility/Macros.h> 23 #include <quentier/utility/Linkage.h> 24 #include <quentier/utility/Printable.h> 25 #include <quentier/types/Note.h> 26 #include <quentier/types/Notebook.h> 29 #include <QStringList> 31 QT_FORWARD_DECLARE_CLASS(QUndoStack)
35 QT_FORWARD_DECLARE_CLASS(Account)
36 QT_FORWARD_DECLARE_CLASS(NoteEditor)
37 QT_FORWARD_DECLARE_CLASS(FileIOProcessorAsync)
38 QT_FORWARD_DECLARE_CLASS(SpellChecker)
49 virtual QObject * object() = 0;
50 virtual QWidget * widget() = 0;
52 virtual void setAccount(
const Account & account) = 0;
53 virtual void setUndoStack(QUndoStack * pUndoStack) = 0;
55 virtual void setBlankPageHtml(
const QString & html) = 0;
57 virtual bool isNoteLoaded()
const = 0;
59 virtual void convertToNote() = 0;
60 virtual void undo() = 0;
61 virtual void redo() = 0;
62 virtual void cut() = 0;
63 virtual void copy() = 0;
64 virtual void paste() = 0;
65 virtual void pasteUnformatted() = 0;
66 virtual void selectAll() = 0;
68 virtual void formatSelectionAsSourceCode() = 0;
70 virtual void fontMenu() = 0;
71 virtual void textBold() = 0;
72 virtual void textItalic() = 0;
73 virtual void textUnderline() = 0;
74 virtual void textStrikethrough() = 0;
75 virtual void textHighlight() = 0;
77 virtual void alignLeft() = 0;
78 virtual void alignCenter() = 0;
79 virtual void alignRight() = 0;
80 virtual void alignFull() = 0;
82 virtual QString selectedText()
const = 0;
83 virtual bool hasSelection()
const = 0;
85 virtual void findNext(
const QString & text,
const bool matchCase)
const = 0;
86 virtual void findPrevious(
const QString & text,
const bool matchCase)
const = 0;
87 virtual void replace(
const QString & textToReplace,
const QString & replacementText,
const bool matchCase) = 0;
88 virtual void replaceAll(
const QString & textToReplace,
const QString & replacementText,
const bool matchCase) = 0;
90 virtual void insertToDoCheckbox() = 0;
92 virtual void insertInAppNoteLink(
const QString & userId,
const QString & shardId,
93 const QString & noteGuid,
const QString & linkText) = 0;
95 virtual void setSpellcheck(
const bool enabled) = 0;
96 virtual bool spellCheckEnabled()
const = 0;
98 virtual void setFont(
const QFont & font) = 0;
99 virtual void setFontHeight(
const int height) = 0;
100 virtual void setFontColor(
const QColor & color) = 0;
101 virtual void setBackgroundColor(
const QColor & color) = 0;
103 virtual void insertHorizontalLine() = 0;
105 virtual void increaseFontSize() = 0;
106 virtual void decreaseFontSize() = 0;
108 virtual void increaseIndentation() = 0;
109 virtual void decreaseIndentation() = 0;
111 virtual void insertBulletedList() = 0;
112 virtual void insertNumberedList() = 0;
114 virtual void insertTableDialog() = 0;
115 virtual void insertFixedWidthTable(
const int rows,
const int columns,
const int widthInPixels) = 0;
116 virtual void insertRelativeWidthTable(
const int rows,
const int columns,
const double relativeWidth) = 0;
117 virtual void insertTableRow() = 0;
118 virtual void insertTableColumn() = 0;
119 virtual void removeTableRow() = 0;
120 virtual void removeTableColumn() = 0;
122 virtual void addAttachmentDialog() = 0;
123 virtual void saveAttachmentDialog(
const QByteArray & resourceHash) = 0;
124 virtual void saveAttachmentUnderCursor() = 0;
125 virtual void openAttachment(
const QByteArray & resourceHash) = 0;
126 virtual void openAttachmentUnderCursor() = 0;
127 virtual void copyAttachment(
const QByteArray & resourceHash) = 0;
128 virtual void copyAttachmentUnderCursor() = 0;
129 virtual void removeAttachment(
const QByteArray & resourceHash) = 0;
130 virtual void removeAttachmentUnderCursor() = 0;
131 virtual void renameAttachment(
const QByteArray & resourceHash) = 0;
132 virtual void renameAttachmentUnderCursor() = 0;
142 friend QTextStream & operator<<(QTextStream & strm,
const type & rotation);
145 virtual void rotateImageAttachment(
const QByteArray & resourceHash,
const Rotation::type rotationDirection) = 0;
146 virtual void rotateImageAttachmentUnderCursor(
const Rotation::type rotationDirection) = 0;
148 virtual void encryptSelectedText() = 0;
150 virtual void decryptEncryptedTextUnderCursor() = 0;
151 virtual void decryptEncryptedText(QString encryptedText, QString cipher, QString keyLength, QString hint, QString enCryptIndex) = 0;
153 virtual void hideDecryptedTextUnderCursor() = 0;
154 virtual void hideDecryptedText(QString encryptedText, QString decryptedText, QString cipher, QString keyLength, QString hint, QString enDecryptedIndex) = 0;
156 virtual void editHyperlinkDialog() = 0;
157 virtual void copyHyperlink() = 0;
158 virtual void removeHyperlink() = 0;
160 virtual void onNoteLoadCancelled() = 0;
162 virtual bool print(QPrinter & printer,
ErrorString & errorDescription) = 0;
163 virtual bool exportToPdf(
const QString & absoluteFilePath,
ErrorString & errorDescription) = 0;
164 virtual bool exportToEnex(
const QStringList & tagNames,
165 QString & enex,
ErrorString & errorDescription) = 0;
167 virtual void setNoteAndNotebook(
const Note & note,
const Notebook & notebook) = 0;
169 virtual void clear() = 0;
171 virtual bool isModified()
const = 0;
173 virtual void setFocusToEditor() = 0;
182 #endif // LIB_QUENTIER_NOTE_EDITOR_I_NOTE_EDITOR_BACKEND_H Definition: INoteEditorBackend.h:40
The FileIOProcessorAsync class is a wrapper under simple file IO operations, it is meant to be used f...
Definition: FileIOProcessorAsync.h:39
The ErrorString class encapsulates two (or more) strings which are meant to contain translatable (bas...
Definition: ErrorString.h:38
The Account class encapsulates some details about the account: its name, whether it is local or synch...
Definition: Account.h:24
Definition: Notebook.h:38
Definition: SpellChecker.h:34
The NoteEditor class is a widget encapsulating all the functionality necessary for showing and editin...
Definition: NoteEditor.h:43
Definition: INoteEditorBackend.h:134