2026-02-24 10:16:05 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| Main.mqh |
|
| | | //| Copyright 2025, Niquel Mendoza. |
|
| | | //| https://www.mql5.com/es/users/nique_372 |
|
| | | //+------------------------------------------------------------------+
|
| | | #property copyright "Copyright 2025, Niquel Mendoza."
|
| | | #property link "https://www.mql5.com/es/users/nique_372"
|
| | | #property strict
|
| | |
|
2026-02-25 11:10:09 -05:00 | | | #ifndef AIDATATASKRUNER_UI_MAIN_MQH
|
| | | #define AIDATATASKRUNER_UI_MAIN_MQH
|
| | |
|
| | |
|
2026-02-24 10:16:05 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
2026-02-25 11:10:09 -05:00 | | | #include "AllTabs.mqh"
|
| | |
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | //---
|
2026-04-08 07:46:15 -05:00 | | | #define TASKRUNERAIMAINTAB_TAB_TOTAL (8)
|
2026-03-21 12:50:21 -05:00 | | |
|
2026-02-25 11:10:09 -05:00 | | | //---
|
2026-03-13 11:50:06 -05:00 | | | #define TASKRUNERAIMAINTAB_TAB_DGEN (0)
|
2026-03-21 12:50:21 -05:00 | | | #define TASKRUNERAIMAINTAB_TAB_FEATURES_EDITOR (1)
|
| | | #define TASKRUNERAIMAINTAB_TAB_TRAINING (2)
|
2026-03-16 17:06:27 -05:00 | | | #define TASKRUNERAIMAINTAB_TAB_AI (3)
|
2026-03-27 17:56:22 -05:00 | | | #define TASKRUNERAIMAINTAB_TAB_UTILS (4)
|
2026-04-08 07:46:15 -05:00 | | | #define TASKRUNERAIMAINTAB_TAB_WORKFLOW (5)
|
2026-03-27 17:56:22 -05:00 | | |
|
2026-04-08 07:46:15 -05:00 | | | #define TASKRUNERAIMAINTAB_TAB_CONFIG (6)
|
| | | #define TASKRUNERAIMAINTAB_TAB_ABOUT (7)
|
2026-02-24 10:16:05 -05:00 | | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
2026-03-13 08:17:25 -05:00 | | | class CProgram : public CWndCreate
|
2026-02-24 10:16:05 -05:00 | | | {
|
| | | private:
|
2026-03-13 11:50:06 -05:00 | | | //---
|
| | | CLanguageConfigurator m_lenguaje;
|
| | | const string m_class_name;
|
| | |
|
2026-02-25 11:10:09 -05:00 | | | //--- Tabb principal
|
2026-02-24 10:16:05 -05:00 | | | CTabs m_tabs;
|
2026-03-13 08:17:25 -05:00 | | | CWindow m_window;
|
2026-02-24 10:16:05 -05:00 | | |
|
2026-02-25 11:10:09 -05:00 | | | //--- Secciones
|
| | | CTaskRunerAiTabDGenMain m_sec_generation_data;
|
| | | CTaskRunerAiTabAbout m_sec_about;
|
2026-03-13 15:20:27 -05:00 | | | CTaskRunerAiTabConfig m_sec_config;
|
2026-03-16 17:06:27 -05:00 | | | CTabLlmAgentBase m_sec_ia;
|
2026-03-20 21:57:53 -05:00 | | | CTrainingTab m_sec_training;
|
2026-03-21 12:50:21 -05:00 | | | CFeaturesEditorTab m_sec_feature_editor;
|
2026-03-27 17:56:22 -05:00 | | | CTabUtils m_sec_utils;
|
2026-04-08 07:46:15 -05:00 | | | CTabWorkflows m_sec_wf;
|
2026-02-24 10:16:05 -05:00 | | |
|
2026-03-13 08:17:25 -05:00 | | | //--- Eventos
|
2026-03-20 21:57:53 -05:00 | | | void OnClickBottom(const long lparam, const string& sparam);
|
2026-03-16 17:06:27 -05:00 | | | void OnTextEdit(const long lparam);
|
| | | void OnChangeComBox(const long lparam);
|
2026-03-26 06:46:59 -05:00 | | | void OnClickDec(const long lparam);
|
| | | void OnClickInc(const long lparam);
|
2026-03-13 08:17:25 -05:00 | | |
|
| | |
|
2026-02-24 10:16:05 -05:00 | | | public:
|
2026-03-13 11:50:06 -05:00 | | | CProgram(void) : m_class_name("CProgram") { }
|
2026-03-13 08:17:25 -05:00 | | | ~CProgram(void) {}
|
2026-02-25 11:10:09 -05:00 | | |
|
| | | //---
|
| | | CTaskRunerAiTabDGenMain* GetSecTaskRunerAiDGenPtr() { return &m_sec_generation_data; }
|
| | | CTaskRunerAiTabAbout* GetSecAbout() { return &m_sec_about; }
|
2026-03-16 17:06:27 -05:00 | | | CTabLlmAgentBase* GetSecAi() { return &m_sec_ia; }
|
2026-03-21 08:15:18 -05:00 | | | CTrainingTab* GetTrainingTab() { return &m_sec_training; }
|
| | | CTaskRunerAiTabConfig* GetConfig() { return &m_sec_config; }
|
2026-03-21 12:50:21 -05:00 | | | CFeaturesEditorTab* GetFeaturesEditr() { return &m_sec_feature_editor; }
|
2026-03-27 17:56:22 -05:00 | | | CTabUtils* GetTabUtils() { return &m_sec_utils; }
|
2026-04-08 07:46:15 -05:00 | | | CTabWorkflows* GetTabWF() { return &m_sec_wf; }
|
2026-03-21 12:50:21 -05:00 | | |
|
2026-02-24 10:16:05 -05:00 | | | //--- Funcion principal de creacion
|
2026-02-25 11:10:09 -05:00 | | | // Se supone que top_gatp ya viene con el offset del tab
|
2026-03-20 21:57:53 -05:00 | | | bool CreateGUI(int WIDTH_PANEL, int HEIGHT_PANEL, uchar log_flags, const TrainingTabConfig& config_traing);
|
2026-02-25 11:10:09 -05:00 | | |
|
2026-03-13 08:17:25 -05:00 | | | //---
|
| | | void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam) override;
|
| | | void OnDeinitEvent(const int reason) { CWndEvents::Destroy(); }
|
2026-03-13 16:15:45 -05:00 | | | void OnLenguajeChange();
|
2026-02-24 10:16:05 -05:00 | | | };
|
2026-03-13 08:17:25 -05:00 | | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
2026-02-24 10:16:05 -05:00 | | | //+------------------------------------------------------------------+
|
2026-03-20 21:57:53 -05:00 | | | bool CProgram::CreateGUI(int WIDTH_PANEL, int HEIGHT_PANEL, uchar log_flags, const TrainingTabConfig& config_traing)
|
2026-02-25 11:10:09 -05:00 | | | {
|
2026-03-13 11:50:06 -05:00 | | | //---
|
| | | if(!CPanelAiDataTaskRunnerIns::Downlad())
|
| | | {
|
| | | return false;
|
| | | }
|
| | |
|
| | | //---
|
| | | m_lenguaje.AddLogFlags(log_flags);
|
2026-03-16 17:06:27 -05:00 | | | if(!m_lenguaje.Init(TASKRUNERAI_DEFUALT_LAN, g_aidatatask_runner_langague,
|
| | | g_aidatatask_runner_langague_str, AIDATATASK_RUNNER_COMON_FLAG))
|
2026-03-13 11:50:06 -05:00 | | | {
|
| | | return false;
|
| | | }
|
| | |
|
2026-03-13 08:17:25 -05:00 | | | //---
|
| | | int width_panel = fmax(WIDTH_PANEL, 300);
|
2026-03-16 21:27:52 -05:00 | | | m_window.Alpha(255);
|
2026-03-13 08:17:25 -05:00 | | | m_window.CaptionColor(AIDATATASKRUNER_WIN_COLOR_CAPTION);
|
| | | m_window.CaptionColorHover(AIDATATASKRUNER_WIN_COLOR_CAPTION_HOVER);
|
| | | m_window.CaptionColorLocked(AIDATATASKRUNER_WIN_COLOR_CAPTION_LOCKED);
|
| | | m_window.BorderColor(AIDATATASKRUNER_COLOR_FONDO_WIN);
|
| | | m_window.BackColor(AIDATATASKRUNER_COLOR_FONDO_WIN);
|
| | | m_window.BackColorPressed(clrBlue);
|
| | | m_window.Font("Arial Black");
|
| | | if(!CWndCreate::CreateWindow(m_window, AIDATATASKRUNER_CAPTION, 0, 0, width_panel, HEIGHT_PANEL, true, false, true, true))
|
| | | {
|
| | | AIDATATASKRUNER_ERROR_CREATION_F(m_window);
|
| | | return false;
|
| | | }
|
| | |
|
| | | //---
|
| | | int left_gap = 2;
|
| | | int top_gap = m_window.CaptionHeight() + 4;
|
| | | int right_gap = 4;
|
| | | int bottom_gap = 4;
|
2026-03-13 11:50:06 -05:00 | | | //Print(top_gap); // Para tabs el y debe de inlcuir ya la cabezera
|
2026-03-13 08:17:25 -05:00 | | |
|
| | | //---
|
2026-02-25 11:10:09 -05:00 | | | int x = left_gap + 1;
|
| | | int y = top_gap + 1;
|
| | |
|
| | | //--- Creacion del control tabs
|
2026-03-13 11:50:06 -05:00 | | | // header
|
| | | string tab_header[];
|
2026-03-13 12:00:40 -05:00 | | | const string str_header = m_lenguaje[AIDATATASKRUNNERL_COMPONENT_NAME(m_tabs)];
|
2026-03-13 11:58:57 -05:00 | | | if(!StrTo::CstArray(tab_header, str_header, '|', true))
|
2026-03-13 11:50:06 -05:00 | | | {
|
| | | FastLog(FUNCION_ACTUAL, ERROR_TEXT, "Fallo al hacer str to array str");
|
| | | return false;
|
| | | }
|
| | | ArrayResize(tab_header, TASKRUNERAIMAINTAB_TAB_TOTAL); // trim
|
| | |
|
2026-03-16 17:06:27 -05:00 | | | // Colores
|
| | | color clrs_tab_label[TASKRUNERAIMAINTAB_TAB_TOTAL] =
|
| | | {
|
| | | AIDATATASKRUNER_COLOR_TEXT_SECONDARY,
|
| | | AIDATATASKRUNER_COLOR_TEXT_SECONDARY,
|
| | | AIDATATASKRUNER_COLOR_TEXT_SECONDARY,
|
2026-03-20 21:57:53 -05:00 | | | AIDATATASKRUNER_COLOR_TEXT_SECONDARY,
|
2026-03-21 12:50:21 -05:00 | | | AIDATATASKRUNER_COLOR_TEXT_SECONDARY,
|
2026-03-27 17:56:22 -05:00 | | | AIDATATASKRUNER_COLOR_TEXT_SECONDARY,
|
2026-04-08 07:46:15 -05:00 | | | AIDATATASKRUNER_COLOR_TEXT_SECONDARY,
|
2026-03-16 17:06:27 -05:00 | | | AIDATATASKRUNER_COLOR_TEXT_SECONDARY
|
| | | };
|
| | | color clrs_tab_label_pressed[TASKRUNERAIMAINTAB_TAB_TOTAL] =
|
| | | {
|
| | | AIDATATASKRUNER_COLOR_ACCENT,
|
| | | AIDATATASKRUNER_COLOR_ACCENT,
|
| | | AIDATATASKRUNER_COLOR_ACCENT,
|
2026-03-20 21:57:53 -05:00 | | | AIDATATASKRUNER_COLOR_ACCENT,
|
2026-03-21 12:50:21 -05:00 | | | AIDATATASKRUNER_COLOR_ACCENT,
|
2026-03-27 17:56:22 -05:00 | | | AIDATATASKRUNER_COLOR_ACCENT,
|
2026-04-08 07:46:15 -05:00 | | | AIDATATASKRUNER_COLOR_ACCENT,
|
2026-03-16 17:06:27 -05:00 | | | AIDATATASKRUNER_COLOR_ACCENT
|
| | | };
|
2026-03-13 08:17:25 -05:00 | | |
|
2026-03-16 17:06:27 -05:00 | | | //---
|
2026-03-13 11:50:06 -05:00 | | | int widts[TASKRUNERAIMAINTAB_TAB_TOTAL];
|
2026-03-13 15:20:27 -05:00 | | | ArrayInitialize(widts, 65);
|
2026-02-25 11:10:09 -05:00 | | | x += 65;
|
2026-03-13 08:17:25 -05:00 | | |
|
| | | m_tabs.BackColor(AIDATATASKRUNER_COLOR_FONDO_TAB);
|
| | | m_tabs.BackColorHover(AIDATATASKRUNER_COLOR_FONDO_TAB_HOVER);
|
| | | m_tabs.BackColorPressed(AIDATATASKRUNER_COLOR_FONDO_TAB_PRESSED);
|
| | | m_tabs.BackColorLocked(AIDATATASKRUNER_COLOR_FONDO_TAB_LOCKED);
|
| | | m_tabs.BorderColor(AIDATATASKRUNER_COLOR_BORDER);
|
| | | m_tabs.BorderColorHover(AIDATATASKRUNER_COLOR_BORDER_HOVER);
|
| | | m_tabs.BorderColorPressed(AIDATATASKRUNER_COLOR_BORDER_HOVER);
|
| | | m_tabs.BorderColorLocked(AIDATATASKRUNER_COLOR_BORDER);
|
| | | // m_tabs.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
| | | // m_tabs.LabelColorLocked(AIDATATASKRUNER_COLOR_TEXT_LOCKED);
|
2026-02-25 11:10:09 -05:00 | | |
|
| | | // Offset
|
| | | right_gap += 2;
|
| | | bottom_gap += 2;
|
| | |
|
| | | // Creacion
|
2026-03-13 11:50:06 -05:00 | | | if(!CWndCreate::CreateTabs(m_tabs, m_window, 0, x, y, 0, 0, tab_header, widts, clrs_tab_label, clrs_tab_label_pressed,
|
2026-03-13 08:17:25 -05:00 | | | TABS_LEFT, true, true, right_gap, bottom_gap))
|
2026-02-25 11:10:09 -05:00 | | | {
|
2026-03-13 08:17:25 -05:00 | | | AIDATATASKRUNER_ERROR_CREATION_F(m_tabs);
|
2026-02-25 11:10:09 -05:00 | | | return false;
|
| | | }
|
| | |
|
| | | //---
|
| | | left_gap += m_tabs.SumWidthTabs() + 1;
|
| | | top_gap += 1;
|
| | |
|
| | |
|
| | | //--- Seccion generacino de datos
|
2026-03-13 08:17:25 -05:00 | | | m_sec_generation_data.AddLogFlags(log_flags);
|
2026-03-13 15:20:27 -05:00 | | | m_sec_generation_data.SetInitValues(&m_lenguaje, &m_tabs, TASKRUNERAIMAINTAB_TAB_DGEN);
|
| | | if(!m_sec_generation_data.Create(&this, m_window, top_gap, left_gap, right_gap, bottom_gap))
|
2026-02-25 11:10:09 -05:00 | | | {
|
2026-03-13 08:17:25 -05:00 | | | AIDATATASKRUNER_ERROR_CREATION_F(m_sec_generation_data);
|
2026-02-25 11:10:09 -05:00 | | | return false;
|
| | | }
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | //--- Seccion features editor
|
| | | m_sec_feature_editor.AddLogFlags(log_flags);
|
| | | m_sec_feature_editor.SetInitValues(&m_lenguaje, &m_tabs, TASKRUNERAIMAINTAB_TAB_FEATURES_EDITOR);
|
| | | if(!m_sec_feature_editor.Create(&this, m_window, top_gap, left_gap, right_gap, bottom_gap, config_traing.proyect_common_flag))
|
2026-02-25 11:10:09 -05:00 | | | {
|
2026-03-21 12:50:21 -05:00 | | | AIDATATASKRUNER_ERROR_CREATION_F(m_sec_feature_editor);
|
| | | return false;
|
| | | }
|
| | |
|
| | | //--- Seccion training
|
| | | m_sec_training.AddLogFlags(log_flags);
|
| | | m_sec_training.SetInitValues(&m_lenguaje, &m_tabs, TASKRUNERAIMAINTAB_TAB_TRAINING);
|
| | | if(!m_sec_training.Create(&this, m_window, top_gap, left_gap, right_gap, bottom_gap, config_traing))
|
| | | {
|
| | | AIDATATASKRUNER_ERROR_CREATION_F(m_sec_training);
|
2026-02-25 11:10:09 -05:00 | | | return false;
|
| | | }
|
2026-03-13 08:17:25 -05:00 | | |
|
2026-03-16 17:06:27 -05:00 | | | //--- Seccion ai chat
|
| | | m_sec_ia.AddLogFlags(log_flags);
|
| | | m_sec_ia.SetInitValues(&m_lenguaje, &m_tabs, TASKRUNERAIMAINTAB_TAB_AI);
|
| | | if(!m_sec_ia.Create(&this, m_window, top_gap, left_gap, right_gap, bottom_gap))
|
| | | {
|
| | | AIDATATASKRUNER_ERROR_CREATION_F(m_sec_ia);
|
| | | return false;
|
| | | }
|
2026-03-27 17:56:22 -05:00 | | | //--- Seccion Utils
|
| | | m_sec_utils.AddLogFlags(log_flags);
|
| | | m_sec_utils.SetInitValues(&m_lenguaje, &m_tabs, TASKRUNERAIMAINTAB_TAB_UTILS);
|
| | | if(!m_sec_utils.Create(&this, m_window, top_gap, left_gap, right_gap, bottom_gap))
|
| | | {
|
| | | AIDATATASKRUNER_ERROR_CREATION_F(m_sec_utils);
|
| | | return false;
|
| | | }
|
| | |
|
2026-04-08 07:46:15 -05:00 | | | //--- Seccion wf
|
| | | m_sec_wf.AddLogFlags(log_flags);
|
| | | m_sec_wf.SetInitValues(&m_lenguaje, &m_tabs, TASKRUNERAIMAINTAB_TAB_WORKFLOW);
|
| | | if(!m_sec_wf.Create(&this, m_window, top_gap, left_gap, right_gap, bottom_gap))
|
| | | {
|
| | | AIDATATASKRUNER_ERROR_CREATION_F(m_sec_utils);
|
| | | return false;
|
| | | }
|
2026-03-16 17:06:27 -05:00 | | |
|
2026-03-21 12:50:21 -05:00 | | | //--- Seccion About
|
| | | m_sec_about.AddLogFlags(log_flags);
|
| | | m_sec_about.SetInitValues(&m_lenguaje, &m_tabs, TASKRUNERAIMAINTAB_TAB_ABOUT);
|
| | | if(!m_sec_about.Create(&this, m_window, top_gap, left_gap, right_gap, bottom_gap))
|
2026-03-20 21:57:53 -05:00 | | | {
|
2026-03-21 12:50:21 -05:00 | | | AIDATATASKRUNER_ERROR_CREATION_F(m_sec_about);
|
2026-03-20 21:57:53 -05:00 | | | return false;
|
| | | }
|
| | |
|
2026-03-16 17:06:27 -05:00 | | | //--- Seccion config
|
2026-03-13 15:20:27 -05:00 | | | m_sec_config.AddLogFlags(log_flags);
|
| | | m_sec_config.SetInitValues(&m_lenguaje, &m_tabs, TASKRUNERAIMAINTAB_TAB_CONFIG);
|
| | | if(!m_sec_config.Create(&this, m_window, top_gap, left_gap, right_gap, bottom_gap))
|
| | | {
|
2026-03-16 17:06:27 -05:00 | | | AIDATATASKRUNER_ERROR_CREATION_F(m_sec_config);
|
2026-03-13 15:20:27 -05:00 | | | return false;
|
| | | }
|
2026-03-21 12:50:21 -05:00 | | |
|
2026-03-13 15:20:27 -05:00 | | | // agregamos las tabs restantes
|
| | | m_sec_config.AddTab(&m_sec_about);
|
| | | m_sec_config.AddTab(&m_sec_generation_data);
|
2026-03-16 17:06:27 -05:00 | | | m_sec_config.AddTab(&m_sec_ia);
|
2026-03-20 21:57:53 -05:00 | | | m_sec_config.AddTab(&m_sec_training);
|
2026-03-21 12:50:21 -05:00 | | | m_sec_config.AddTab(&m_sec_feature_editor);
|
2026-03-27 17:56:22 -05:00 | | | m_sec_config.AddTab(&m_sec_utils);
|
2026-04-09 16:45:23 -05:00 | | | m_sec_config.AddTab(&m_sec_wf);
|
2026-03-13 16:15:45 -05:00 | | | m_sec_config.SetBaseProgram(&this);
|
2026-03-13 15:20:27 -05:00 | | |
|
2026-03-13 08:17:25 -05:00 | | | //---
|
| | | CWndEvents::CompletedGUI();
|
2026-02-25 11:10:09 -05:00 | | |
|
| | | //---
|
| | | return true;
|
| | | }
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
2026-03-13 08:17:25 -05:00 | | | void CProgram::OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
|
| | | {
|
| | | if(id == CHARTEVENT_CUSTOM + ON_END_EDIT)
|
| | | {
|
| | | OnTextEdit(lparam);
|
| | | return;
|
| | | }
|
| | | if(id == CHARTEVENT_CUSTOM + ON_CLICK_BUTTON)
|
| | | {
|
2026-03-20 21:57:53 -05:00 | | | OnClickBottom(lparam, sparam);
|
2026-03-13 08:17:25 -05:00 | | | return;
|
| | | }
|
| | | if(id == CHARTEVENT_CUSTOM + ON_CHANGE_DATE)
|
| | | {
|
2026-03-20 21:57:53 -05:00 | | | if(m_tabs.SelectedTab() == TASKRUNERAIMAINTAB_TAB_DGEN)
|
| | | m_sec_generation_data.OnChangeDate(lparam, dparam);
|
2026-03-13 08:17:25 -05:00 | | | return;
|
| | | }
|
| | | if(id == CHARTEVENT_CUSTOM + ON_CLICK_COMBOBOX_ITEM)
|
| | | {
|
| | | OnChangeComBox(lparam);
|
| | | return;
|
| | | }
|
2026-03-20 21:57:53 -05:00 | | | if(id == CHARTEVENT_CUSTOM + ON_CLICK_DEC)
|
| | | {
|
2026-03-26 06:46:59 -05:00 | | | OnClickDec(lparam);
|
2026-03-20 21:57:53 -05:00 | | | return;
|
| | | }
|
| | | if(id == CHARTEVENT_CUSTOM + ON_CLICK_INC)
|
| | | {
|
2026-03-26 06:46:59 -05:00 | | | OnClickInc(lparam);
|
2026-03-20 21:57:53 -05:00 | | | return;
|
| | | }
|
2026-03-26 06:46:59 -05:00 | | |
|
| | | //--- Especificos para el editor
|
2026-03-20 21:57:53 -05:00 | | | if(id == CHARTEVENT_CUSTOM + ON_MODIFY_TEXTBOX)
|
| | | {
|
2026-03-21 12:50:21 -05:00 | | | if(m_tabs.SelectedTab() == TASKRUNERAIMAINTAB_TAB_FEATURES_EDITOR)
|
| | | m_sec_feature_editor.OnModifyTextBox(lparam);
|
2026-03-20 21:57:53 -05:00 | | | return;
|
| | | }
|
2026-03-13 08:17:25 -05:00 | | | }
|
2026-03-26 06:46:59 -05:00 | | |
|
2026-04-08 07:46:15 -05:00 | | |
|
2026-03-26 06:46:59 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | void CProgram::OnClickDec(const long lparam)
|
| | | {
|
| | | switch(m_tabs.SelectedTab())
|
| | | {
|
| | | case TASKRUNERAIMAINTAB_TAB_DGEN:
|
| | | m_sec_generation_data.OnClickDec(lparam);
|
| | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_FEATURES_EDITOR:
|
| | | m_sec_feature_editor.OnClickDec(lparam);
|
| | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_TRAINING:
|
| | | m_sec_training.OnClickDec(lparam);
|
| | | break;
|
| | |
|
2026-04-08 07:46:15 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_AI:
|
| | | break;
|
| | |
|
2026-03-27 17:56:22 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_UTILS:
|
| | | break;
|
| | |
|
2026-04-08 07:46:15 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_WORKFLOW:
|
2026-03-26 06:46:59 -05:00 | | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_CONFIG:
|
| | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_ABOUT:
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | void CProgram::OnClickInc(const long lparam)
|
| | | {
|
| | | switch(m_tabs.SelectedTab())
|
| | | {
|
| | | case TASKRUNERAIMAINTAB_TAB_DGEN:
|
| | | m_sec_generation_data.OnClickInc(lparam);
|
| | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_FEATURES_EDITOR:
|
| | | m_sec_feature_editor.OnClickInc(lparam);
|
| | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_TRAINING:
|
| | | m_sec_training.OnClickInc(lparam);
|
| | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_AI:
|
| | | break;
|
| | |
|
2026-03-27 17:56:22 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_UTILS:
|
| | | break;
|
| | |
|
2026-04-08 07:46:15 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_WORKFLOW:
|
| | | break;
|
| | |
|
2026-03-26 06:46:59 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_CONFIG:
|
| | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_ABOUT:
|
| | | break;
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
2026-03-16 17:06:27 -05:00 | | | //---
|
| | | void CProgram::OnChangeComBox(const long lparam)
|
2026-02-25 11:10:09 -05:00 | | | {
|
2026-03-16 17:06:27 -05:00 | | | switch(m_tabs.SelectedTab())
|
| | | {
|
| | | case TASKRUNERAIMAINTAB_TAB_DGEN:
|
| | | m_sec_generation_data.OnChangeComBox(lparam);
|
| | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_FEATURES_EDITOR:
|
| | | m_sec_feature_editor.OnComboxItemClick(lparam);
|
2026-03-16 17:06:27 -05:00 | | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_TRAINING:
|
2026-03-16 17:06:27 -05:00 | | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_AI:
|
| | | m_sec_ia.OnChangeComBox(lparam);
|
| | | break;
|
2026-03-20 21:57:53 -05:00 | | |
|
2026-03-27 17:56:22 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_UTILS:
|
| | | m_sec_utils.OnComboxItemClick(lparam);
|
| | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_CONFIG:
|
| | | m_sec_config.OnChangeComBox(lparam);
|
| | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_ABOUT:
|
2026-03-20 21:57:53 -05:00 | | | break;
|
2026-03-16 17:06:27 -05:00 | | | }
|
2026-02-25 11:10:09 -05:00 | | | }
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
2026-03-21 12:50:21 -05:00 | | | void CProgram::OnClickBottom(const long lparam, const string& sparam)
|
2026-02-25 11:10:09 -05:00 | | | {
|
2026-03-16 17:06:27 -05:00 | | | switch(m_tabs.SelectedTab())
|
| | | {
|
| | | case TASKRUNERAIMAINTAB_TAB_DGEN:
|
| | | m_sec_generation_data.OnClickBottom(lparam);
|
| | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_FEATURES_EDITOR:
|
| | | m_sec_feature_editor.OnClickButtom(lparam, sparam);
|
2026-03-16 17:06:27 -05:00 | | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_TRAINING:
|
| | | m_sec_training.OnClickButtom(lparam, sparam);
|
2026-03-16 17:06:27 -05:00 | | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_AI:
|
| | | m_sec_ia.OnClickBottom(lparam);
|
| | | break;
|
2026-03-20 21:57:53 -05:00 | | |
|
2026-03-27 17:56:22 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_UTILS:
|
| | | m_sec_utils.OnClickButtom(lparam);
|
| | | break;
|
| | |
|
2026-04-08 07:46:15 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_WORKFLOW:
|
| | | m_sec_wf.OnClickButtom(lparam);
|
| | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_CONFIG:
|
| | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_ABOUT:
|
2026-03-20 21:57:53 -05:00 | | | break;
|
2026-03-16 17:06:27 -05:00 | | | }
|
2026-02-25 11:10:09 -05:00 | | | }
|
| | |
|
2026-03-20 21:57:53 -05:00 | | |
|
2026-02-25 11:10:09 -05:00 | | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
2026-03-16 17:06:27 -05:00 | | | void CProgram::OnTextEdit(const long lparam)
|
2026-02-25 11:10:09 -05:00 | | | {
|
2026-03-16 17:06:27 -05:00 | | | switch(m_tabs.SelectedTab())
|
| | | {
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_DGEN:
|
2026-03-16 17:06:27 -05:00 | | | m_sec_generation_data.OnTextEdit(lparam);
|
| | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_FEATURES_EDITOR:
|
| | | m_sec_feature_editor.OnEndEdit(lparam);
|
2026-03-16 17:06:27 -05:00 | | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_TRAINING:
|
2026-03-24 10:39:38 -05:00 | | | m_sec_training.OnTextEdit(lparam);
|
2026-03-16 17:06:27 -05:00 | | | break;
|
| | |
|
| | | case TASKRUNERAIMAINTAB_TAB_AI:
|
| | | m_sec_ia.OnTextEdit(lparam);
|
| | | break;
|
2026-03-20 21:57:53 -05:00 | | |
|
2026-03-27 17:56:22 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_UTILS:
|
| | | break;
|
| | |
|
2026-04-08 07:46:15 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_WORKFLOW:
|
| | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_CONFIG:
|
2026-03-20 21:57:53 -05:00 | | | break;
|
| | |
|
2026-03-21 12:50:21 -05:00 | | | case TASKRUNERAIMAINTAB_TAB_ABOUT:
|
| | | break;
|
2026-03-16 17:06:27 -05:00 | | | }
|
2026-02-25 11:10:09 -05:00 | | | }
|
| | |
|
2026-03-21 12:50:21 -05:00 | | |
|
2026-03-13 16:15:45 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | void CProgram::OnLenguajeChange(void)
|
| | | {
|
| | | string tab_header[];
|
| | | const string str_header = m_lenguaje[AIDATATASKRUNNERL_COMPONENT_NAME(m_tabs)];
|
| | | if(!StrTo::CstArray(tab_header, str_header, '|', true))
|
| | | {
|
| | | FastLog(FUNCION_ACTUAL, ERROR_TEXT, "Fallo al hacer str to array str");
|
| | | return;
|
| | | }
|
2026-03-21 08:15:18 -05:00 | | | //ArrayResize(tab_header, TASKRUNERAIMAINTAB_TAB_TOTAL);
|
2026-03-13 16:15:45 -05:00 | | | const int t = m_tabs.TabsTotal();
|
| | | for(int i = 0; i < t; i++)
|
| | | m_tabs.Text(i, tab_header[i]);
|
| | |
|
| | | m_tabs.Update();
|
| | | }
|
| | |
|
2026-02-25 11:10:09 -05:00 | | | //---
|
| | | #endif // AIDATATASKRUNER_UI_MAIN_MQH
|