| | |
| | | /** Implementing UI */ |
| | | class MainWindowUI : public UI |
| | | { |
| | | protected: |
| | | // Handlers for UI events. |
| | | void onSettings( wxCommandEvent& event ); |
| | | void onModelsRefresh( wxCommandEvent& event ); |
| | | void onModelSelect( wxCommandEvent& event ); |
| | | void onVaeSelect( wxCommandEvent& event ); |
| | | void onSamplerSelect( wxCommandEvent& event ); |
| | | void onResolutionSwap( wxCommandEvent& event ); |
| | | void onJobsStart( wxCommandEvent& event ); |
| | | void onJobsPause( wxCommandEvent& event ); |
| | | void onJobsDelete( wxCommandEvent& event ); |
| | | void onJoblistItemActivated( wxDataViewEvent& event ); |
| | | void onJoblistSelectionChanged( wxDataViewEvent& event ); |
| | | void onGenerate( wxCommandEvent& event ); |
| | | void onSavePreset( wxCommandEvent& event ); |
| | | void onLoadPreset( wxCommandEvent& event ); |
| | | void onSelectPreset( wxCommandEvent& event ); |
| | | void onDeletePreset( wxCommandEvent& event ); |
| | | public: |
| | | /** Constructor */ |
| | | MainWindowUI( wxWindow* parent ); |
| | | protected: |
| | | // Handlers for UI events. |
| | | void onSettings(wxCommandEvent &event); |
| | | void onModelsRefresh(wxCommandEvent &event); |
| | | void onModelSelect(wxCommandEvent &event); |
| | | void onVaeSelect(wxCommandEvent &event); |
| | | void onSamplerSelect(wxCommandEvent &event); |
| | | void onResolutionSwap(wxCommandEvent &event); |
| | | void onJobsStart(wxCommandEvent &event); |
| | | void onJobsPause(wxCommandEvent &event); |
| | | void onJobsDelete(wxCommandEvent &event); |
| | | void onJoblistItemActivated(wxDataViewEvent &event); |
| | | void onJoblistSelectionChanged(wxDataViewEvent &event); |
| | | void onGenerate(wxCommandEvent &event); |
| | | void onSavePreset(wxCommandEvent &event); |
| | | void onLoadPreset(wxCommandEvent &event); |
| | | void onSelectPreset(wxCommandEvent &event); |
| | | void onDeletePreset(wxCommandEvent &event); |
| | | |
| | | public: |
| | | /** Constructor */ |
| | | MainWindowUI(wxWindow *parent); |
| | | //// end generated class members |
| | | ~MainWindowUI(); |
| | | void OnThreadMessage(wxThreadEvent &e); |
| | |
| | | |
| | | // the queue manager |
| | | QM::QueueManager *qmanager; |
| | | bool modelLoaded = false; |
| | | std::string currentModel; |
| | | sd_ctx_t *sd_ctx; |
| | | std::streambuf *buffer; |
| | | std::vector<std::thread> threads; |
| | | |
| | | // row,QueueItem |
| | | std::map<int, QM::QueueItem> *JobTableItems; |
| | | |
| | | void initConfig(); |
| | | void loadModelList(); |
| | |
| | | static void HandleSDLog(sd_log_level_t level, const char *text, void *data); |
| | | |
| | | // load the model in a new thread |
| | | void LoadModel(wxEvtHandler *eventHandler); |
| | | void LoadModel(wxEvtHandler *eventHandler, QM::QueueItem myItem); |
| | | // generate in another thread |
| | | void Generate(wxEvtHandler *eventHandler); |
| | | void Generate(wxEvtHandler *eventHandler, QM::QueueItem myItem); |
| | | |
| | | // start a thread for model loading... |
| | | void StartLoadModel(); |
| | | // start a thread to generate image |
| | | void StartGeneration(); |
| | | void StartGeneration(QM::QueueItem myJob); |
| | | |
| | | // handle queue managers events, manipulate data table by events |
| | | void OnQueueItemManagerItemAdded(QM::QueueItem item); |
| | |
| | | void OnQueueItemManagerItemStatusChanged(QM::QueueItem item); |
| | | |
| | | wxNotificationMessage *notification; |
| | | |
| | | }; |
| | | |
| | | #endif // __MainWindowUI__ |