wxWidgets based Stable Diffusion C++ GUi
Ferenc Szontágh
2024-02-03 2088e1b7aa6419dec58800bc1d0cb24f5808affe
ui/MainWindowUI.h
@@ -33,27 +33,28 @@
/** 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);
@@ -71,9 +72,14 @@
   // 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();
@@ -85,14 +91,14 @@
   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);
@@ -100,7 +106,6 @@
   void OnQueueItemManagerItemStatusChanged(QM::QueueItem item);
   wxNotificationMessage *notification;
};
#endif // __MainWindowUI__