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/types/Note.h>
23#include <quentier/utility/Linkage.h>
24#include <quentier/utility/Printable.h>
32QT_FORWARD_DECLARE_CLASS(QUndoStack)
36QT_FORWARD_DECLARE_CLASS(Account)
37QT_FORWARD_DECLARE_CLASS(LocalStorageManagerAsync)
38QT_FORWARD_DECLARE_CLASS(NoteEditor)
39QT_FORWARD_DECLARE_CLASS(SpellChecker)
46 virtual void initialize(
49 QThread * pBackgroundJobsThread) = 0;
51 virtual QObject * object() = 0;
52 virtual QWidget * widget() = 0;
54 virtual void setAccount(
const Account & account) = 0;
55 virtual void setUndoStack(QUndoStack * pUndoStack) = 0;
57 virtual void setInitialPageHtml(
const QString & html) = 0;
58 virtual void setNoteNotFoundPageHtml(
const QString & html) = 0;
59 virtual void setNoteDeletedPageHtml(
const QString & html) = 0;
60 virtual void setNoteLoadingPageHtml(
const QString & html) = 0;
62 virtual bool isNoteLoaded()
const = 0;
63 virtual qint64 idleTime()
const = 0;
65 virtual void convertToNote() = 0;
66 virtual void saveNoteToLocalStorage() = 0;
67 virtual void setNoteTitle(
const QString & noteTitle) = 0;
69 virtual void setTagIds(
70 const QStringList & tagLocalUids,
const QStringList & tagGuids) = 0;
72 virtual void undo() = 0;
73 virtual void redo() = 0;
74 virtual void cut() = 0;
75 virtual void copy() = 0;
76 virtual void paste() = 0;
77 virtual void pasteUnformatted() = 0;
78 virtual void selectAll() = 0;
80 virtual void formatSelectionAsSourceCode() = 0;
82 virtual void fontMenu() = 0;
83 virtual void textBold() = 0;
84 virtual void textItalic() = 0;
85 virtual void textUnderline() = 0;
86 virtual void textStrikethrough() = 0;
87 virtual void textHighlight() = 0;
89 virtual void alignLeft() = 0;
90 virtual void alignCenter() = 0;
91 virtual void alignRight() = 0;
92 virtual void alignFull() = 0;
94 virtual QString selectedText()
const = 0;
95 virtual bool hasSelection()
const = 0;
97 virtual void findNext(
const QString & text,
const bool matchCase)
const = 0;
99 virtual void findPrevious(
100 const QString & text,
const bool matchCase)
const = 0;
102 virtual void replace(
103 const QString & textToReplace,
const QString & replacementText,
104 const bool matchCase) = 0;
106 virtual void replaceAll(
107 const QString & textToReplace,
const QString & replacementText,
108 const bool matchCase) = 0;
110 virtual void insertToDoCheckbox() = 0;
112 virtual void insertInAppNoteLink(
113 const QString & userId,
const QString & shardId,
114 const QString & noteGuid,
const QString & linkText) = 0;
116 virtual void setSpellcheck(
const bool enabled) = 0;
117 virtual bool spellCheckEnabled()
const = 0;
119 virtual void setFont(
const QFont & font) = 0;
120 virtual void setFontHeight(
const int height) = 0;
121 virtual void setFontColor(
const QColor & color) = 0;
122 virtual void setBackgroundColor(
const QColor & color) = 0;
124 virtual QPalette defaultPalette()
const = 0;
125 virtual void setDefaultPalette(
const QPalette & pal) = 0;
127 virtual const QFont * defaultFont()
const = 0;
128 virtual void setDefaultFont(
const QFont & font) = 0;
130 virtual void insertHorizontalLine() = 0;
132 virtual void increaseFontSize() = 0;
133 virtual void decreaseFontSize() = 0;
135 virtual void increaseIndentation() = 0;
136 virtual void decreaseIndentation() = 0;
138 virtual void insertBulletedList() = 0;
139 virtual void insertNumberedList() = 0;
141 virtual void insertTableDialog() = 0;
143 virtual void insertFixedWidthTable(
144 const int rows,
const int columns,
const int widthInPixels) = 0;
146 virtual void insertRelativeWidthTable(
147 const int rows,
const int columns,
const double relativeWidth) = 0;
149 virtual void insertTableRow() = 0;
150 virtual void insertTableColumn() = 0;
151 virtual void removeTableRow() = 0;
152 virtual void removeTableColumn() = 0;
154 virtual void addAttachmentDialog() = 0;
155 virtual void saveAttachmentDialog(
const QByteArray & resourceHash) = 0;
156 virtual void saveAttachmentUnderCursor() = 0;
157 virtual void openAttachment(
const QByteArray & resourceHash) = 0;
158 virtual void openAttachmentUnderCursor() = 0;
159 virtual void copyAttachment(
const QByteArray & resourceHash) = 0;
160 virtual void copyAttachmentUnderCursor() = 0;
161 virtual void removeAttachment(
const QByteArray & resourceHash) = 0;
162 virtual void removeAttachmentUnderCursor() = 0;
163 virtual void renameAttachment(
const QByteArray & resourceHash) = 0;
164 virtual void renameAttachmentUnderCursor() = 0;
172 friend QUENTIER_EXPORT QTextStream & operator<<(
173 QTextStream & strm,
const Rotation rotation);
175 friend QUENTIER_EXPORT QDebug & operator<<(
176 QDebug & dbg,
const Rotation rotation);
178 virtual void rotateImageAttachment(
179 const QByteArray & resourceHash,
const Rotation rotationDirection) = 0;
181 virtual void rotateImageAttachmentUnderCursor(
182 const Rotation rotationDirection) = 0;
184 virtual void encryptSelectedText() = 0;
186 virtual void decryptEncryptedTextUnderCursor() = 0;
188 virtual void decryptEncryptedText(
189 QString encryptedText, QString cipher, QString keyLength, QString hint,
190 QString enCryptIndex) = 0;
192 virtual void hideDecryptedTextUnderCursor() = 0;
194 virtual void hideDecryptedText(
195 QString encryptedText, QString decryptedText, QString cipher,
196 QString keyLength, QString hint, QString enDecryptedIndex) = 0;
198 virtual void editHyperlinkDialog() = 0;
199 virtual void copyHyperlink() = 0;
200 virtual void removeHyperlink() = 0;
202 virtual void onNoteLoadCancelled() = 0;
204 virtual bool print(QPrinter & printer,
ErrorString & errorDescription) = 0;
206 virtual bool exportToPdf(
207 const QString & absoluteFilePath,
ErrorString & errorDescription) = 0;
209 virtual bool exportToEnex(
210 const QStringList & tagNames, QString & enex,
213 virtual QString currentNoteLocalUid()
const = 0;
214 virtual void setCurrentNoteLocalUid(
const QString & noteLocalUid) = 0;
216 virtual void clear() = 0;
218 virtual bool isModified()
const = 0;
219 virtual bool isEditorPageModified()
const = 0;
221 virtual void setFocusToEditor() = 0;
The Account class encapsulates some details about the account: its name, whether it is local or synch...
Definition Account.h:39
The ErrorString class encapsulates two (or more) strings which are meant to contain translatable (bas...
Definition ErrorString.h:44
Definition INoteEditorBackend.h:42
Definition LocalStorageManagerAsync.h:44
The NoteEditor class is a widget encapsulating all the functionality necessary for showing and editin...
Definition NoteEditor.h:46
Definition SpellChecker.h:36