Enumerations present in the code base
Enum VivyDocument_Capability {
AssAble
VideoAble
AudioAble
}
Enum VivyDocument_Option {
NoOption
UntouchedByDefault
MemoryDocumentCreation
}
Global UML Class Diagram
classDiagram
direction TB
%% The TopLevel Application
class VivyApplication {
+Font getApplicationFont(VivyApplication_FontId)
+Ptr~MainWindow~ getMainWindow()
+Ptr~AbstractDocument~ getCurrentDocument()
}
%% LIB classes
class ScriptDocument {
-Ptr~QTextDocument~ textDocument
+attachTextDocument(Ptr~QTextDocument~)
}
class VivyDocument {
+bool loadSubDocument(String)
+bool loadSubDocument(String, VivyDocument_Capability)
+bool checkDocumentCapabilities(VivyDocument_Capability)
+bool checkDocumentOptions(VivyDocument_Option)
+SharedPtr~AudioSubDocument~ getAudioSubDocument()
+SharedPtr~VideoSubDocument~ getVideoSubDocument()
+SharedPtr~AssSubDocument~ getAssSubDocument()
}
class AbstractDocument {
<<Abstract>>
+copy(String)*
+rename(String)*
+save()*
+String getName()
+Type getType()
+Uuid getUuid()
}
class ScriptStore {
<<Store>>
+loadScriptFolder(String)
+executeScript(Uuid)
+executeScript(Uuid, SharedPtr~VivyDocument~)
+String getLastLuaError()
-UniquePtr~LuaContext~ luaContext
}
class VivyDocumentStore {
<<Store>>
+newDocument(VivyDocument_Option)
}
class CRTPStore~Document~ {
<<Interface>>
+SharedPtr~Document~ loadDocument()
+SharedPtr~Document~ getDocument()
+closeDocument(Uuid)
+bool isDocumentPresent(Uuid)
}
%% Here comes the different relations
VivyDocumentStore ..|> CRTPStore
ScriptStore ..|> CRTPStore
VivyDocument --|> AbstractDocument
ScriptDocument --|> AbstractDocument
VivyDocumentStore --> "*" VivyDocument
ScriptStore --> "*" ScriptDocument
VivyDocumentStore --* VivyApplication
ScriptStore --* VivyApplication
UI UML Class Diagram
classDiagram
direction TB
class AbstractDocumentView {
+closeDocument()*
+openProperties()*
+String getDocumentTabName()*
+String getDocumentTabToolTip()*
+Icon getDocumentTabIcon()*
+Ptr~AbstractDocument~ getDocument()*
+List~QActionPtr~ getViewsActions()
+bool isType(Utils_DocumentType)
+Type getType()
#delDockWidget(PPtr~Dock~)
#addDockWidget(Qt_DockWidgetArea, Ptr~Dock~, Qt_Orientation)
#List~QActionPtr~ viewsActions
}
class VivyDocumentView {
-Ptr~AudioVisualizer~ visualizer
-Ptr~VideoView~ videoWidget
-Ptr~AssView~ assView
}
class ScriptDocumentView {
-Ptr~QTextEdit~ scriptEditor
}
class MainWindow {
-QTabWidget~AbstractDocumentView~ documents
}
VivyDocumentView --|> AbstractDocumentView
ScriptDocumentView --|> AbstractDocumentView
MainWindow --> AbstractDocumentView : documents
Home