Voltray Engine Docs
Loading...
Searching...
No Matches
WorkspaceDialog.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4#include <string>
5#include <functional>
6#include "../../Utils/Workspace.h"
7
8namespace Editor::UI
9{
20 {
21 public:
26 using WorkspaceCallback = std::function<void(const Workspace *)>;
27
32 static void Show(WorkspaceCallback callback);
33
38 static bool Render();
39
44 static bool IsOpen();
45
49 static void Close();
50
51 private:
52 static bool s_IsOpen;
53 static WorkspaceCallback s_Callback;
54 static std::vector<Workspace> s_Workspaces;
55 static int s_SelectedWorkspace;
56 static bool s_ShowCreateDialog;
57
58 // Create workspace dialog state
59 static char s_NewWorkspaceName[256];
60 static char s_NewWorkspaceDescription[512];
61 static char s_NewWorkspacePath[1024];
62 static bool s_CreateInProgress;
63
64 static void RenderWorkspaceList();
65 static void RenderCreateDialog();
66 static void RefreshWorkspaceList();
67 static void SelectWorkspaceFolder();
68 static void CreateWorkspace();
69 static void OnWorkspaceSelected(const Workspace *workspace);
70 static const char *GetRelativeTimeString(const std::chrono::system_clock::time_point &timePoint);
71 };
72}
Modal dialog for workspace selection and creation.
Definition WorkspaceDialog.h:20
static bool IsOpen()
Check if the dialog is currently open.
Definition WorkspaceDialog.cpp:364
static bool Render()
Render the dialog (call this in your main render loop)
Definition WorkspaceDialog.cpp:43
static void Close()
Force close the dialog.
Definition WorkspaceDialog.cpp:369
std::function< void(const Workspace *)> WorkspaceCallback
Callback function type for workspace selection.
Definition WorkspaceDialog.h:26
static void Show(WorkspaceCallback callback)
Show the workspace selection dialog.
Definition WorkspaceDialog.cpp:28
Definition Theme.cpp:5
Represents a workspace with its metadata and settings.
Definition Workspace.h:26