18 class VuoEditorWelcome;
42 explicit VuoEditor(
int &argc,
char *argv[]);
64 void getGlobalMovieExportSettings(
int &width,
int &height,
double &time,
double &duration,
double &framerate,
int &spatialSupersample,
int &temporalSupersample,
float &shutterAngle, QString &imageFormat,
double &quality);
76 QMainWindow *
openFileWithName(QString filename,
bool addToRecentFileMenu=
true);
115 void openUrl(
const QString &url);
140 void openHelpBookPageFromUrl(
const QUrl &url);
143 void showGridLinesToggled(
bool show);
144 void showGridPointsToggled(
bool show);
145 void updateSnapToGrid(
bool snap);
146 void updateColor(
bool isDark);
147 void updateCanvasOpacity(QAction *setOpacityAction);
148 void updateGlobalMovieExportSettings(
int width,
int height,
double time,
double duration,
double framerate,
int spatialSupersample,
int temporalSupersample,
float shutterAngle, QString imageFormat,
double quality);
149 void updateNodeLibraryDisplayMode(
bool humanReadable);
150 void updateGlobalNodeLibraryFloatingPosition(QPoint newPos);
151 void updateGlobalNodeLibraryWidth(
int newWidth);
152 void updateGlobalNodeLibraryHeight(
int newHeight);
153 void updateGlobalNodeDocumentationPanelHeight(
int newSize);
154 void updateGlobalNodeLibraryVisibilityState(
bool visible);
155 void updateGlobalNodeLibraryDockedState(
bool floating);
156 void updateFloatingNodeLibraryModules();
157 void assignTopLevelLibraryAsReplacementFloater();
163 friend class TestVuoEditor;
165 static const QString recentFileListSettingsKey;
166 static const QString subcompositionPrefixSettingsKey;
167 static const QString nodeLibraryDisplayModeSettingsKey;
168 static const QString nodeLibraryVisibilityStateSettingsKey;
169 static const QString nodeLibraryDockingStateSettingsKey;
170 static const QString nodeLibraryFloatingPositionSettingsKey;
171 static const QString nodeLibraryWidthSettingsKey;
172 static const QString nodeLibraryHeightSettingsKey;
173 static const QString nodeDocumentationPanelHeightSettingsKey;
174 static const QString shaderDocumentationVisibilitySettingsKey;
175 static const QString gridTypeSettingsKey;
176 static const QString gridOpacitySettingsKey;
177 static const qreal defaultGridOpacity;
178 static const QString snapToGridSettingsKey;
179 static const QString darkInterfaceSettingsKey;
180 static const QString canvasOpacitySettingsKey;
181 static const QString movieExportWidthSettingsKey;
182 static const QString movieExportHeightSettingsKey;
183 static const QString movieExportTimeSettingsKey;
184 static const QString movieExportDurationSettingsKey;
185 static const QString movieExportFramerateSettingsKey;
186 static const QString movieExportSpatialSupersampleSettingsKey;
187 static const QString movieExportTemporalSupersampleSettingsKey;
188 static const QString movieExportShutterAngleSettingsKey;
189 static const QString movieExportImageFormatSettingsKey;
190 static const QString movieExportQualitySettingsKey;
192 static string documentationGenerationDirectory;
194 QNetworkAccessManager *networkManager;
201 map<VuoProtocol *, VuoCompilerDriver *> builtInDriverForProtocol;
202 dispatch_queue_t builtInDriversQueue;
203 bool checkForUpdateOnStartup;
207 bool nodeLibraryCurrentlyVisible;
208 bool nodeLibraryCurrentlyDocked;
209 bool settingsContainedNodeLibraryFloatingPosition;
210 QPoint nodeLibraryFloatingPosition;
211 int nodeLibraryWidth;
212 int nodeLibraryHeight;
213 int nodeDocumentationPanelHeight;
214 bool previousVisibleNodeLibraryStateWasDocked;
218 QString subcompositionPrefix;
221 bool shaderDocumentationVisible;
224 int movieExportWidth;
225 int movieExportHeight;
226 double movieExportTime;
227 double movieExportDuration;
228 double movieExportFramerate;
229 int movieExportSpatialSupersample;
230 int movieExportTemporalSupersample;
231 float movieExportShutterAngle;
232 QString movieExportImageFormat;
233 double movieExportQuality;
240 QMenu *menuNewCompositionWithTemplate;
246 QMenu *dockContextMenu;
247 void enableMenuItems(QMenu *menu,
bool enable);
248 QString assignUntitledDocumentIdentifier(
void);
249 int yScreenSpaceShortage;
251 VuoEditorWindow * createEditorWindow(QString documentIdentifier, QString filename,
const string &compositionAsString,
VuoProtocol *activeProtocol=NULL,
string nodeClassToHighlight=
"");
252 string getFilterTextForTemplate(
string templateID);
253 void closeUnmodifiedUntitledComposition();
254 void initializeBuiltInDrivers();
255 void initializeTopLevelNodeLibrary(
VuoCompiler *nodeLibraryCompiler,
257 bool setFloatingPosition,
258 QPoint floatingPosition=QPoint(),
259 int nodeLibraryWidth=-1,
260 int nodeLibraryHeight=-1);
262 void updateGlobalNodeLibraryState(
bool visible,
bool docked);
264 void enableGlobalStateConformanceToLibrary(
VuoNodeLibrary *library);
265 void disableGlobalStateConformanceToLibrary(
VuoNodeLibrary *library);
266 void updateDockedNodeLibraryModules(
void);
268 void updateCanvasOpacityTo(
int opacity);
269 void applyStoredMovieExportSettings();
270 void generateAllNodeSetHtmlDocumentation(
string directory);
271 void reportBrokenModules();
272 void moveFileToTrash(QString filePath);
273 dispatch_queue_t documentationQueue;
275 QAction *showNodeLibraryAction;
276 map<QString, VuoEditorWindow *> documentIdentifierAssigned;
277 vector<string> closedFiles;
278 map<string, string> resourceDirectoryForNodeSet;
279 vector<QString> queuedCompositionsToOpen;
281 bool reportAbsenceOfUpdates;
283 QString qtFindTranslation(
const QLocale &locale,
const QString &filename,
const QString &prefix,
const QString &directory,
const QString &suffix);
284 void loadTranslations();
286 QList<QMainWindow *> windowsRemainingAfterQuitRequested;
290 #include "pro/VuoEditor_Pro.hh"