/
Dimon4ik
/
VRLabs
Обзор
Документация
Войти
/
Dimon4ik
/
VRLabs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
LabLauncher/uLabLauncher.h
59 строк
2 KB
Dimon4ik
Add launcher and runnable lab binaries
03 май 2026, 05:06
03 май 2026, 05:06
21516cf
Код
Авторство
О чём код?
//--------------------------------------------------------------------------- #ifndef uLabLauncherH #define uLabLauncherH //--------------------------------------------------------------------------- #include <System.Classes.hpp> #include <Vcl.Controls.hpp> #include <Vcl.Forms.hpp> #include <Vcl.StdCtrls.hpp> #include <Vcl.ExtCtrls.hpp> #include <Vcl.Graphics.hpp> #include <vector> //--------------------------------------------------------------------------- struct TLabInfo { UnicodeString Title; UnicodeString Description; UnicodeString ExecutablePath; UnicodeString PreviewPath; }; class TFormLabLauncher : public TForm { __published: void __fastcall FormCreate(TObject *Sender); private: TPanel *HeaderPanel; TLabel *TitleLabel; TLabel *SubtitleLabel; TListBox *LabListBox; TImage *PreviewImage; TLabel *LabTitleLabel; TMemo *DescriptionMemo; TButton *RunButton; TButton *OpenFolderButton; TLabel *PathLabel; UnicodeString RepositoryRoot; std::vector<TLabInfo> Labs; void BuildInterface(); void LoadLabs(); UnicodeString DetectRepositoryRoot(); UnicodeString AbsPath(const UnicodeString &relativePath); const TLabInfo* SelectedLab() const; void ShowSelectedLab(); void RunSelectedLab(); void OpenSelectedFolder(); void __fastcall LabListChanged(TObject *Sender); void __fastcall LabListDblClick(TObject *Sender); void __fastcall RunClicked(TObject *Sender); void __fastcall OpenFolderClicked(TObject *Sender); public: __fastcall TFormLabLauncher(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TFormLabLauncher *FormLabLauncher; //--------------------------------------------------------------------------- #endif