bifurcado de nique_372/AiDataTaskRuner
1224 líneas
57 KiB
MQL5
1224 líneas
57 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| Base.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
|
|
|
|
#ifndef AIDATATASKRUNER_UI_DATAGENERATIONTAB_BASE_MQH
|
|
#define AIDATATASKRUNER_UI_DATAGENERATIONTAB_BASE_MQH
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
#include "Def.mqh"
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
class CTaskRunerAiTabDGenMain : public CTaskRunnerBaseTab
|
|
{
|
|
private:
|
|
//---
|
|
CTabs m_tabs;
|
|
ITaskRunerAi* m_runer;
|
|
|
|
//--- Tab 1 Agregar task
|
|
//- COnfigiraiino base
|
|
CTextLabel m_label_basic_config;
|
|
CTextEdit m_section_bsic_edit_files;
|
|
CTextEdit m_section_bsic_edit_expert_path;
|
|
CTextEdit m_section_bsic_edit_progres_csv_file;
|
|
CTextEdit m_section_bsic_edit_main_folder;
|
|
|
|
//- Task
|
|
CTextLabel m_label_new_task;
|
|
|
|
//
|
|
CTextEdit m_section_nt_edit_symbol;
|
|
CTextEdit m_section_nt_edit_symbol_folder;
|
|
CComboBox m_section_nt_combox_timerame;
|
|
CTextEdit m_section_nt_edit_label;
|
|
CTextEdit m_section_nt_edit_label_id;
|
|
CDropCalendar m_section_nt_dc_dt_start;
|
|
CDropCalendar m_section_nt_dc_dt_end;
|
|
CTextEdit m_section_nt_edit_st_file;
|
|
|
|
//
|
|
CButton m_section_nt_buttom_add_task;
|
|
|
|
//--- Tab 2 visualizar
|
|
CButton m_section_buttom_pending_load;
|
|
CButton m_section_buttom_pending_save;
|
|
CButton m_section_buttom_clean;
|
|
CButton m_section_buttom_execute_all;
|
|
CTable m_section_pending_table;
|
|
//CWindow liuego dar la posiblidad de modificar
|
|
|
|
//--- Create metods
|
|
bool CreateMainTab(CWndCreate* p, CWindow& main_window, CTabs& general_tabs, int tab_index, int top_gap, int left_gap, int right_gap, int bottom_gap);
|
|
bool CreatePendigTab(CWndCreate* p, CWindow& main_window, CTabs& general_tabs, int tab_index, int top_gap, int left_gap, int right_gap, int bottom_gap);
|
|
|
|
|
|
//--- Partes de main tab
|
|
bool CreateMainTab_BasicConfig(CWndCreate* p, CWindow& main_window, CTabs& general_tabs, int tab_index, const int initial_x, int& x, int& y);
|
|
bool CreateMainTab_NewTask(CWndCreate* p, CWindow& main_window, CTabs& general_tabs, int tab_index, const int initial_x, int& x, int& y);
|
|
|
|
//---
|
|
// rows = array con las filas a actulizar
|
|
// index_s = nuevo estaod
|
|
// size = tamaño del array rows
|
|
void ActulizeTableAllTask(const int index_s, int& rows[], int size);
|
|
void OnAddTask();
|
|
void UpdateTextMain();
|
|
void UpdateTextTask();
|
|
|
|
public:
|
|
CTaskRunerAiTabDGenMain(void) : CTaskRunnerBaseTab("CTaskRunerAiTabDGenMain") {}
|
|
~CTaskRunerAiTabDGenMain(void) {}
|
|
|
|
//---
|
|
// topgap es 0 creo
|
|
// leftgap debera de considerar el espeacio en V
|
|
bool Create(CWndCreate* p, CWindow& main_window, int top_gap, int left_gap, int right_gap, int bottom_gap);
|
|
void SetRunner(ITaskRunerAi* r) { m_runer = r; }
|
|
|
|
//---
|
|
void OnLenguajeChange() override final;
|
|
bool OnClickBottom(const long lparam);
|
|
bool OnChangeDate(const long lparam, const double dparam); //dparm = date
|
|
bool OnTextEdit(const long lparam);
|
|
bool OnChangeComBox(const long lparam);
|
|
|
|
//---
|
|
void UpdateStateInTable(const int index, const int state);
|
|
};
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
bool CTaskRunerAiTabDGenMain::Create(CWndCreate* p, CWindow& main_window, int top_gap, int left_gap, int right_gap, int bottom_gap)
|
|
{
|
|
//---
|
|
string txt[TASKRUNERAIDGENMAIN_TAB_TOTAL] = {m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_tabs) + "_0"], m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_tabs) + "_1"]};
|
|
int width[TASKRUNERAIDGENMAIN_TAB_TOTAL] = { 70, 80 };
|
|
color clrs_tab_label[TASKRUNERAIDGENMAIN_TAB_TOTAL] = {AIDATATASKRUNER_COLOR_TEXT_SECONDARY, AIDATATASKRUNER_COLOR_TEXT_SECONDARY};
|
|
color clrs_tab_label_pressed[TASKRUNERAIDGENMAIN_TAB_TOTAL] = {AIDATATASKRUNER_COLOR_ACCENT, AIDATATASKRUNER_COLOR_ACCENT};
|
|
top_gap += 24;
|
|
left_gap += 4;
|
|
right_gap += 4;
|
|
bottom_gap += 4;
|
|
|
|
//---
|
|
m_tabs.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB);
|
|
m_tabs.BackColorHover(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_HOVER);
|
|
m_tabs.BackColorPressed(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_tabs.BackColorLocked(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_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);
|
|
|
|
//---
|
|
if(!p.CreateTabs(m_tabs, main_window, 0, m_base_tab, m_base_tab_idx, left_gap, top_gap, 0, 0, txt, width, clrs_tab_label, clrs_tab_label_pressed,
|
|
TABS_TOP, true, true, right_gap, bottom_gap))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_tabs);
|
|
return false;
|
|
}
|
|
|
|
|
|
//---
|
|
if(!CreateMainTab(p, main_window, m_tabs, TASKRUNERAIDGENMAIN_TAB_MAIN, top_gap, left_gap, right_gap, bottom_gap))
|
|
return false;
|
|
|
|
//---
|
|
if(!CreatePendigTab(p, main_window, m_tabs, TASKRUNERAIDGENMAIN_TAB_TASK, top_gap, left_gap, right_gap, bottom_gap))
|
|
return false;
|
|
|
|
//---
|
|
return true;
|
|
}
|
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
bool CTaskRunerAiTabDGenMain::CreateMainTab(CWndCreate *p, CWindow &main_window, CTabs &general_tabs, int tab_index, int top_gap, int left_gap, int right_gap, int bottom_gap)
|
|
{
|
|
//---
|
|
const int initial_x = left_gap + 5;
|
|
int x = initial_x;
|
|
int y = top_gap + 10;
|
|
|
|
//---
|
|
if(!CreateMainTab_BasicConfig(p, main_window, general_tabs, tab_index, initial_x, x, y))
|
|
return false;
|
|
|
|
if(!CreateMainTab_NewTask(p, main_window, general_tabs, tab_index, initial_x, x, y))
|
|
return false;
|
|
|
|
//--- Tarea actual
|
|
TaskTester t;
|
|
t.start_date = m_section_nt_dc_dt_start.SelectedDate();
|
|
t.end_date = m_section_nt_dc_dt_end.SelectedDate();
|
|
t.timeframe = StrShortTimeframeToEnumNoRef(m_section_nt_combox_timerame.GetValue());
|
|
t.set_file = m_section_nt_edit_st_file.GetValue();
|
|
t.symbol = m_section_nt_edit_symbol.GetValue();
|
|
t.symbol_folder = m_section_nt_edit_symbol_folder.GetValue();
|
|
t.label = m_section_nt_edit_label.GetValue();
|
|
t.label_id = int(m_section_nt_edit_label_id.GetValue());
|
|
m_runer.InitCurrentTask(t);
|
|
|
|
//---
|
|
return true;
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
#define AIDATATASKRUNER_MAINTAB_LABEL_X_PAD (5)
|
|
#define AIDATATASKRUNER_MAINTAB_GAP_YSEC (15)
|
|
#define AIDATATASKRUNER_MAINTAB_GAP_YPRIM (25)
|
|
#define AIDATATASKRUNER_MAINTAB_GAP_YSEC_FIRST (12)
|
|
#define AITASKRUNER_MAX_VLAUE_LABEL_ID (1000000000000.0)
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
bool CTaskRunerAiTabDGenMain::CreateMainTab_BasicConfig(CWndCreate *p, CWindow &main_window, CTabs &general_tabs, int tab_index, const int initial_x, int &x, int &y)
|
|
{
|
|
//---
|
|
m_label_basic_config.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_label_basic_config.LabelColor(AIDATATASKRUNER_COLOR_TEXT_PRIMARY);
|
|
m_label_basic_config.FontSize(14);
|
|
m_label_basic_config.Font("Arial");
|
|
if(!p.CreateTextLabel(m_label_basic_config, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_label_basic_config)],
|
|
main_window, 0, general_tabs, tab_index, x, y, 120))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_label_basic_config);
|
|
return false;
|
|
}
|
|
y += m_label_basic_config.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC_FIRST;
|
|
|
|
//---
|
|
string texto;
|
|
int width;
|
|
|
|
// Files
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_bsic_edit_files)];
|
|
m_section_bsic_edit_files.FontSize(10);
|
|
m_section_bsic_edit_files.Font("Arial");
|
|
m_section_bsic_edit_files.CanvasFontSet();
|
|
width = m_section_bsic_edit_files.m_canvas.TextWidth(texto);
|
|
m_section_bsic_edit_files.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_bsic_edit_files.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_bsic_edit_files.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_bsic_edit_files.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_bsic_edit_files.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_bsic_edit_files.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_bsic_edit_files.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
|
m_section_bsic_edit_files.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
|
if(!p.CreateTextEdit(m_section_bsic_edit_files, texto,
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 100, 100, ""))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_bsic_edit_files);
|
|
return false;
|
|
}
|
|
y += m_section_bsic_edit_files.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC;
|
|
|
|
// Expert path
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_bsic_edit_expert_path)];
|
|
m_section_bsic_edit_expert_path.FontSize(10);
|
|
m_section_bsic_edit_expert_path.Font("Arial");
|
|
m_section_bsic_edit_expert_path.CanvasFontSet();
|
|
width = m_section_bsic_edit_expert_path.m_canvas.TextWidth(texto);
|
|
m_section_bsic_edit_expert_path.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_bsic_edit_expert_path.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_bsic_edit_expert_path.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_bsic_edit_expert_path.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_bsic_edit_expert_path.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_bsic_edit_expert_path.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_bsic_edit_expert_path.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
|
m_section_bsic_edit_expert_path.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
|
if(!p.CreateTextEdit(m_section_bsic_edit_expert_path, texto,
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 300, 300, ""))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_bsic_edit_expert_path);
|
|
return false;
|
|
}
|
|
y += m_section_bsic_edit_expert_path.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC;
|
|
|
|
// Progress csv
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_bsic_edit_progres_csv_file)];
|
|
m_section_bsic_edit_progres_csv_file.FontSize(10);
|
|
m_section_bsic_edit_progres_csv_file.Font("Arial");
|
|
m_section_bsic_edit_progres_csv_file.CanvasFontSet();
|
|
width = m_section_bsic_edit_progres_csv_file.m_canvas.TextWidth(texto);
|
|
m_section_bsic_edit_progres_csv_file.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_bsic_edit_progres_csv_file.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_bsic_edit_progres_csv_file.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_bsic_edit_progres_csv_file.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_bsic_edit_progres_csv_file.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_bsic_edit_progres_csv_file.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_bsic_edit_progres_csv_file.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
|
m_section_bsic_edit_progres_csv_file.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
|
if(!p.CreateTextEdit(m_section_bsic_edit_progres_csv_file, texto,
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 300, 300, "none"))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_bsic_edit_progres_csv_file);
|
|
return false;
|
|
}
|
|
y += m_section_bsic_edit_progres_csv_file.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC;
|
|
|
|
// Main folder
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_bsic_edit_main_folder)];
|
|
m_section_bsic_edit_main_folder.FontSize(10);
|
|
m_section_bsic_edit_main_folder.Font("Arial");
|
|
m_section_bsic_edit_main_folder.CanvasFontSet();
|
|
width = m_section_bsic_edit_main_folder.m_canvas.TextWidth(texto);
|
|
m_section_bsic_edit_main_folder.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_bsic_edit_main_folder.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_bsic_edit_main_folder.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_bsic_edit_main_folder.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_bsic_edit_main_folder.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_bsic_edit_main_folder.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_bsic_edit_main_folder.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
|
m_section_bsic_edit_main_folder.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
|
if(!p.CreateTextEdit(m_section_bsic_edit_main_folder, texto,
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 250, 250, ""))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_bsic_edit_main_folder);
|
|
return false;
|
|
}
|
|
y += m_section_bsic_edit_main_folder.YSize() + 30;
|
|
|
|
//---
|
|
return true;
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
bool CTaskRunerAiTabDGenMain::CreateMainTab_NewTask(CWndCreate *p, CWindow &main_window, CTabs &general_tabs, int tab_index, const int initial_x, int &x, int &y)
|
|
{
|
|
//---
|
|
m_label_new_task.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_label_new_task.LabelColor(AIDATATASKRUNER_COLOR_TEXT_PRIMARY);
|
|
m_label_new_task.FontSize(14);
|
|
m_label_new_task.Font("Arial");
|
|
if(!p.CreateTextLabel(m_label_new_task, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_label_new_task)],
|
|
main_window, 0, general_tabs, tab_index, x, y, 200))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_label_new_task);
|
|
return false;
|
|
}
|
|
y += m_label_new_task.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC_FIRST;
|
|
|
|
//---
|
|
string texto;
|
|
int width;
|
|
|
|
// Symbol
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_symbol)];
|
|
m_section_nt_edit_symbol.FontSize(10);
|
|
m_section_nt_edit_symbol.Font("Arial");
|
|
m_section_nt_edit_symbol.CanvasFontSet();
|
|
width = m_section_nt_edit_symbol.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_symbol.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_edit_symbol.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_nt_edit_symbol.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_nt_edit_symbol.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_nt_edit_symbol.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_symbol.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_symbol.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
|
m_section_nt_edit_symbol.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
|
if(!p.CreateTextEdit(m_section_nt_edit_symbol, texto,
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 150, 150, ""))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_nt_edit_symbol);
|
|
return false;
|
|
}
|
|
x += m_section_nt_edit_symbol.XSize() + 20;
|
|
|
|
// Symbol folder
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_symbol_folder)];
|
|
m_section_nt_edit_symbol_folder.FontSize(10);
|
|
m_section_nt_edit_symbol_folder.Font("Arial");
|
|
m_section_nt_edit_symbol_folder.CanvasFontSet();
|
|
width = m_section_nt_edit_symbol_folder.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_symbol_folder.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_edit_symbol_folder.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_nt_edit_symbol_folder.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_nt_edit_symbol_folder.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_nt_edit_symbol_folder.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_symbol_folder.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_symbol_folder.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
|
m_section_nt_edit_symbol_folder.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
|
if(!p.CreateTextEdit(m_section_nt_edit_symbol_folder, texto,
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 150, 150, ""))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_nt_edit_symbol_folder);
|
|
return false;
|
|
}
|
|
x = initial_x;
|
|
y += m_section_nt_edit_symbol_folder.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC;
|
|
|
|
// Timeframe
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_combox_timerame)];
|
|
m_section_nt_combox_timerame.FontSize(10);
|
|
m_section_nt_combox_timerame.Font("Arial");
|
|
m_section_nt_combox_timerame.CanvasFontSet();
|
|
width = m_section_nt_combox_timerame.m_canvas.TextWidth(texto);
|
|
m_section_nt_combox_timerame.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_combox_timerame.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_nt_combox_timerame.GetListViewPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_nt_combox_timerame.GetListViewPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_nt_combox_timerame.GetListViewPointer().LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_combox_timerame.GetButtonPointer().LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_combox_timerame.GetButtonPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_nt_combox_timerame.GetButtonPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
|
|
if(!p.CreateCombobox(m_section_nt_combox_timerame, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_combox_timerame)],
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + 150 + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD, 150, g_arr_str_timefrrames_short, 150))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_nt_combox_timerame);
|
|
return false;
|
|
}
|
|
m_section_nt_combox_timerame.m_button.IconFile(RESOURCE_DOWN_THIN_WHITE);
|
|
m_section_nt_combox_timerame.m_button.IconFileLocked(RESOURCE_DOWN_THIN_WHITE);
|
|
m_section_nt_combox_timerame.m_button.CElement::IconFilePressed(RESOURCE_UP_THIN_WHITE);
|
|
m_section_nt_combox_timerame.m_button.CElement::IconFilePressedLocked(RESOURCE_UP_THIN_WHITE);
|
|
y += m_section_nt_combox_timerame.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC;
|
|
|
|
// Label
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_label)];
|
|
m_section_nt_edit_label.FontSize(10);
|
|
m_section_nt_edit_label.Font("Arial");
|
|
m_section_nt_edit_label.CanvasFontSet();
|
|
width = m_section_nt_edit_label.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_label.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_edit_label.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_nt_edit_label.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_nt_edit_label.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_nt_edit_label.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_label.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_label.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
|
m_section_nt_edit_label.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
|
if(!p.CreateTextEdit(m_section_nt_edit_label, texto,
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 200, 200, ""))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_nt_edit_label);
|
|
return false;
|
|
}
|
|
x += m_section_nt_edit_label.XSize() + 20;
|
|
|
|
// Label id
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_label_id)];
|
|
m_section_nt_edit_label_id.FontSize(10);
|
|
m_section_nt_edit_label_id.Font("Arial");
|
|
m_section_nt_edit_label_id.CanvasFontSet();
|
|
width = m_section_nt_edit_label_id.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_label_id.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_edit_label_id.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_nt_edit_label_id.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_nt_edit_label_id.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_nt_edit_label_id.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_label_id.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_label_id.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
|
m_section_nt_edit_label_id.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
|
if(!p.CreateTextEdit(m_section_nt_edit_label_id, texto,
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 175, 175, AITASKRUNER_MAX_VLAUE_LABEL_ID, 0, 1, 0, 0))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_nt_edit_label_id);
|
|
return false;
|
|
}
|
|
y += m_section_nt_edit_label_id.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC;
|
|
x = initial_x;
|
|
|
|
// Fechas
|
|
const datetime end = CTimeUtils::StartOfYear(TimeCurrent());
|
|
const datetime start = end - 31536000;
|
|
|
|
|
|
//
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_dc_dt_start)];
|
|
m_section_nt_dc_dt_start.FontSize(10);
|
|
m_section_nt_dc_dt_start.Font("Arial");
|
|
m_section_nt_dc_dt_start.CanvasFontSet();
|
|
width = m_section_nt_dc_dt_start.m_canvas.TextWidth(texto);
|
|
|
|
m_section_nt_dc_dt_start.FontSize(10);
|
|
m_section_nt_dc_dt_start.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_dc_dt_start.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
if(!p.CreateDropCalendar(m_section_nt_dc_dt_start, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_dc_dt_start)],
|
|
main_window, 0, general_tabs, tab_index, x, y, width + 100 + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD, start))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_nt_dc_dt_start);
|
|
return false;
|
|
}
|
|
x += m_section_nt_dc_dt_start.XSize() + 20;
|
|
|
|
|
|
//
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_dc_dt_end)];
|
|
m_section_nt_dc_dt_end.FontSize(10);
|
|
m_section_nt_dc_dt_end.Font("Arial");
|
|
m_section_nt_dc_dt_end.CanvasFontSet();
|
|
width = m_section_nt_dc_dt_end.m_canvas.TextWidth(texto);
|
|
|
|
m_section_nt_dc_dt_end.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_dc_dt_end.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
if(!p.CreateDropCalendar(m_section_nt_dc_dt_end, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_dc_dt_end)],
|
|
main_window, 0, general_tabs, tab_index, x, y, width + 100 + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD, end))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_nt_dc_dt_end);
|
|
return false;
|
|
}
|
|
x = initial_x;
|
|
y += m_section_nt_dc_dt_end.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC;
|
|
|
|
// Set file
|
|
texto = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_st_file)];
|
|
m_section_nt_edit_st_file.FontSize(10);
|
|
m_section_nt_edit_st_file.Font("Arial");
|
|
m_section_nt_edit_st_file.CanvasFontSet();
|
|
width = m_section_nt_edit_st_file.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_st_file.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_edit_st_file.BackColor(AIDATATASKRUNER_COLOR_FONDO_SUBTAB_PRESSED);
|
|
m_section_nt_edit_st_file.GetTextBoxPointer().BackColor(AIDATATASKRUNER_COLOR_EDIT_BACK);
|
|
m_section_nt_edit_st_file.GetTextBoxPointer().BorderColor(AIDATATASKRUNER_COLOR_EDIT_BORDER);
|
|
m_section_nt_edit_st_file.GetTextBoxPointer().DefaultTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_st_file.GetTextBoxPointer().LabelColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_NORMAL);
|
|
m_section_nt_edit_st_file.GetTextBoxPointer().SelectedBackColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_SELECTED);
|
|
m_section_nt_edit_st_file.GetTextBoxPointer().SelectedTextColor(AIDATATASKRUNER_COLOR_EDIT_TEXT_HIGHLIGHT);
|
|
if(!p.CreateTextEdit(m_section_nt_edit_st_file, texto,
|
|
main_window, 0, general_tabs, tab_index, false, x, y, width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 200, 200, ""))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_nt_edit_st_file);
|
|
return false;
|
|
}
|
|
y += m_section_nt_edit_st_file.YSize() + AIDATATASKRUNER_MAINTAB_GAP_YSEC;
|
|
|
|
// Add task button
|
|
m_section_nt_buttom_add_task.FontSize(9);
|
|
m_section_nt_buttom_add_task.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_nt_buttom_add_task.BackColor(AIDATATASKRUNER_COLOR_BTN_BACK);
|
|
m_section_nt_buttom_add_task.BorderColor(AIDATATASKRUNER_COLOR_BTN_BORDER);
|
|
if(!p.CreateButton(m_section_nt_buttom_add_task, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_buttom_add_task)],
|
|
main_window, 0, general_tabs, tab_index, x, y, 125))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_nt_buttom_add_task);
|
|
return false;
|
|
}
|
|
|
|
//---
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
bool CTaskRunerAiTabDGenMain::CreatePendigTab(CWndCreate *p, CWindow &main_window, CTabs &general_tabs, int tab_index, int top_gap, int left_gap, int right_gap, int bottom_gap)
|
|
{
|
|
//---
|
|
int x = left_gap + 5;
|
|
int y = top_gap + 10;
|
|
|
|
//---
|
|
#define TASKRUNERAIDGENMAIN_PENDINGTAB_BOOTON_XSIZE (130)
|
|
#define TASKRUNERAIDGENMAIN_PENDINGTAB_BOOTON_XGAP (18)
|
|
|
|
|
|
//---
|
|
m_section_buttom_pending_load.FontSize(9);
|
|
m_section_buttom_pending_load.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_buttom_pending_load.BackColor(AIDATATASKRUNER_COLOR_BTN_BACK);
|
|
m_section_buttom_pending_load.BorderColor(AIDATATASKRUNER_COLOR_BTN_BORDER);
|
|
|
|
if(!p.CreateButton(m_section_buttom_pending_load, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_buttom_pending_load)],
|
|
main_window, 0, general_tabs, tab_index, x, y, TASKRUNERAIDGENMAIN_PENDINGTAB_BOOTON_XSIZE))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_buttom_pending_load);
|
|
return false;
|
|
}
|
|
x += m_section_buttom_pending_load.XSize() + 20;
|
|
|
|
//
|
|
m_section_buttom_pending_save.FontSize(9);
|
|
m_section_buttom_pending_save.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_buttom_pending_save.BackColor(AIDATATASKRUNER_COLOR_BTN_BACK);
|
|
m_section_buttom_pending_save.BorderColor(AIDATATASKRUNER_COLOR_BTN_BORDER);
|
|
if(!p.CreateButton(m_section_buttom_pending_save, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_buttom_pending_save)]
|
|
, main_window, 0, general_tabs, tab_index, x, y, TASKRUNERAIDGENMAIN_PENDINGTAB_BOOTON_XSIZE))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_buttom_pending_save);
|
|
return false;
|
|
}
|
|
x += m_section_buttom_pending_save.XSize() + 20;
|
|
|
|
//
|
|
m_section_buttom_execute_all.FontSize(9);
|
|
m_section_buttom_execute_all.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_buttom_execute_all.BackColor(AIDATATASKRUNER_COLOR_BTN_BACK);
|
|
m_section_buttom_execute_all.BorderColor(AIDATATASKRUNER_COLOR_BTN_BORDER);
|
|
if(!p.CreateButton(m_section_buttom_execute_all, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_buttom_execute_all)]
|
|
, main_window, 0, general_tabs, tab_index, x, y, TASKRUNERAIDGENMAIN_PENDINGTAB_BOOTON_XSIZE))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_buttom_execute_all);
|
|
return false;
|
|
}
|
|
x += m_section_buttom_execute_all.XSize() + 20;
|
|
|
|
//
|
|
m_section_buttom_clean.FontSize(9);
|
|
m_section_buttom_clean.LabelColor(AIDATATASKRUNER_COLOR_TEXT_SECONDARY);
|
|
m_section_buttom_clean.BackColor(AIDATATASKRUNER_COLOR_BTN_BACK);
|
|
m_section_buttom_clean.BorderColor(AIDATATASKRUNER_COLOR_BTN_BORDER);
|
|
if(!p.CreateButton(m_section_buttom_clean, m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_buttom_clean)]
|
|
, main_window, 0, general_tabs, tab_index, x, y, TASKRUNERAIDGENMAIN_PENDINGTAB_BOOTON_XSIZE))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_buttom_clean);
|
|
return false;
|
|
}
|
|
|
|
//---
|
|
y += 25;
|
|
x = left_gap + 5;
|
|
|
|
#define AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL (9)
|
|
|
|
|
|
#define AIDATATASKRUNER_TASK_TABLLE_SIMBOLO (0)
|
|
#define AIDATATASKRUNER_TASK_TABLLE_SIMBOLO_FOLDER (1)
|
|
#define AIDATATASKRUNER_TASK_TABLLE_TIMEFRAME (2)
|
|
#define AIDATATASKRUNER_TASK_TABLLE_LABEL (3)
|
|
#define AIDATATASKRUNER_TASK_TABLLE_LABEL_ID (4)
|
|
#define AIDATATASKRUNER_TASK_TABLLE_DESDE (5)
|
|
#define AIDATATASKRUNER_TASK_TABLLE_HASTA (6)
|
|
#define AIDATATASKRUNER_TASK_TABLLE_ESTADO (7)
|
|
#define AIDATATASKRUNER_TASK_TABLLE_MODIFICAR (8)
|
|
|
|
//---
|
|
string headers[];
|
|
const string header_str = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_pending_table) + "_header"];
|
|
if(!StrTo::CstArray(headers, header_str, '|', true))
|
|
{
|
|
LogError(StringFormat("Fallo al hacer str to arrary str, str = %s", header_str), FUNCION_ACTUAL);
|
|
return false;
|
|
}
|
|
|
|
ArrayResize(headers, AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL); // Trim en caso de exendete
|
|
|
|
// Aling
|
|
ENUM_ALIGN_MODE align[AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL];
|
|
ArrayFill(align, 0, AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL, ALIGN_LEFT);
|
|
|
|
//--- Colores
|
|
// Headers
|
|
m_section_pending_table.HeadersColor(C'0x2A,0x4A,0x6A'); // azul oscuro
|
|
m_section_pending_table.HeadersColorHover(AIDATATASKRUNER_COLOR_ACCENT); // azul accent hover
|
|
m_section_pending_table.HeadersColorPressed(C'0x1E,0x38,0x52'); // más oscuro al presionar
|
|
m_section_pending_table.HeadersTextColor(AIDATATASKRUNER_COLOR_TEXT_PRIMARY);
|
|
|
|
// Celdas
|
|
m_section_pending_table.CellColor(AIDATATASKRUNER_COLOR_FONDO_WIN); // C'37,40,54'
|
|
m_section_pending_table.CellColorHover(AIDATATASKRUNER_COLOR_EDIT_BACK); // C'0x37,0x3D,0x53' hover sutil
|
|
m_section_pending_table.CElement::BackColor(AIDATATASKRUNER_COLOR_FONDO_WIN);
|
|
|
|
// Grid
|
|
m_section_pending_table.GridColor(AIDATATASKRUNER_COLOR_BORDER); // C'58,63,82' sutil
|
|
|
|
// Texto celdas - vía CellInitialize usa m_label_color
|
|
// necesitas setearlo antes de crear:
|
|
m_section_pending_table.m_label_color = AIDATATASKRUNER_COLOR_TEXT_SECONDARY;
|
|
|
|
//---
|
|
CScrollH *sh = m_section_pending_table.GetScrollHPointer();
|
|
|
|
// Fondo de la barra (el riel)
|
|
sh.BackColor(AIDATATASKRUNER_COLOR_FONDO_TAB); // C'26,29,39' - oscuro
|
|
|
|
// Ползunок (thumb) en 3 estados
|
|
sh.ThumbColor(AIDATATASKRUNER_COLOR_BORDER); // C'58,63,82' - reposo sutil
|
|
sh.ThumbColorHover(AIDATATASKRUNER_COLOR_BORDER_HOVER); // C'61,142,240' - hover azul
|
|
sh.ThumbColorPressed(AIDATATASKRUNER_COLOR_ACCENT); // C'0x69,0xA8,0xF3' - presionado
|
|
|
|
// Forzar iconos blancos
|
|
sh.IncFile((string)RESOURCE_SCROLL_LEFT_WHITE);
|
|
sh.IncFileLocked((string)RESOURCE_SCROLL_LEFT_WHITE);
|
|
sh.IncFilePressed((string)RESOURCE_SCROLL_LEFT_WHITE);
|
|
|
|
sh.DecFile((string)RESOURCE_SCROLL_RIGHT_WHITE);
|
|
sh.DecFileLocked((string)RESOURCE_SCROLL_RIGHT_WHITE);
|
|
sh.DecFilePressed((string)RESOURCE_SCROLL_RIGHT_WHITE);
|
|
|
|
//--- Base
|
|
m_section_pending_table.CellYSize(30);
|
|
m_section_pending_table.FontSize(10);
|
|
m_section_pending_table.HeaderYSize(25);
|
|
m_section_pending_table.IsSortMode(true);
|
|
m_section_pending_table.DefaultTextAlign(ALIGN_LEFT);
|
|
|
|
//
|
|
m_section_pending_table.TableSize(AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL, 1);
|
|
|
|
//
|
|
m_section_pending_table.DataType(AIDATATASKRUNER_TASK_TABLLE_SIMBOLO, TYPE_STRING);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_SIMBOLO, 0, "");
|
|
|
|
m_section_pending_table.DataType(AIDATATASKRUNER_TASK_TABLLE_SIMBOLO_FOLDER, TYPE_STRING);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_SIMBOLO_FOLDER, 0, "");
|
|
|
|
|
|
m_section_pending_table.DataType(AIDATATASKRUNER_TASK_TABLLE_TIMEFRAME, TYPE_STRING);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_TIMEFRAME, 0, "");
|
|
|
|
m_section_pending_table.DataType(AIDATATASKRUNER_TASK_TABLLE_LABEL, TYPE_STRING);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_LABEL, 0, "");
|
|
|
|
m_section_pending_table.DataType(AIDATATASKRUNER_TASK_TABLLE_LABEL_ID, TYPE_LONG);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_LABEL_ID, 0, "0");
|
|
|
|
m_section_pending_table.DataType(AIDATATASKRUNER_TASK_TABLLE_DESDE, TYPE_DATETIME);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_DESDE, 0, TimeToString(0));
|
|
|
|
m_section_pending_table.DataType(AIDATATASKRUNER_TASK_TABLLE_HASTA, TYPE_DATETIME);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_HASTA, 0, TimeToString(0));
|
|
|
|
m_section_pending_table.DataType(AIDATATASKRUNER_TASK_TABLLE_ESTADO, TYPE_STRING);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_ESTADO, 0, "");
|
|
|
|
|
|
// m_section_pending_table.SetImages(AIDATATASKRUNER_TASK_TABLLE_ESTADO, 0, g_taskruner_ai_dgen_main_images);
|
|
// m_section_pending_table.ChangeImage(AIDATATASKRUNER_TASK_TABLLE_ESTADO, 0, 2); // gris
|
|
// m_section_pending_table.DataType(AIDATATASKRUNER_TASK_TABLLE_MODIFICAR, TYPE_DATETIME);
|
|
|
|
//
|
|
int arr_offset_imgeage_x[AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL];
|
|
int arr_offset_imgeage_y[AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL];
|
|
ArrayFill(arr_offset_imgeage_x, 0, AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL, 0);
|
|
ArrayFill(arr_offset_imgeage_y, 0, AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL, 0);
|
|
arr_offset_imgeage_y[AIDATATASKRUNER_TASK_TABLLE_ESTADO] = 5;
|
|
arr_offset_imgeage_x[AIDATATASKRUNER_TASK_TABLLE_ESTADO] = 5;
|
|
m_section_pending_table.ImageXOffset(arr_offset_imgeage_x);
|
|
m_section_pending_table.ImageYOffset(arr_offset_imgeage_y);
|
|
|
|
//---
|
|
int text_x_offset[AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL];
|
|
::ArrayInitialize(text_x_offset, 10);
|
|
text_x_offset[AIDATATASKRUNER_TASK_TABLLE_ESTADO] += 15;
|
|
m_section_pending_table.TextXOffset(text_x_offset);
|
|
|
|
// Width
|
|
//---
|
|
int widths[AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL];
|
|
|
|
//--- Hagamos un resize debdio a que los nombres de los params y modelos aveces son GRADENS
|
|
widths[AIDATATASKRUNER_TASK_TABLLE_SIMBOLO ] = 100;
|
|
widths[AIDATATASKRUNER_TASK_TABLLE_SIMBOLO_FOLDER ] = 100;
|
|
widths[AIDATATASKRUNER_TASK_TABLLE_TIMEFRAME ] = 125;
|
|
widths[AIDATATASKRUNER_TASK_TABLLE_LABEL ] = 150;
|
|
widths[AIDATATASKRUNER_TASK_TABLLE_LABEL_ID ] = 125;
|
|
widths[AIDATATASKRUNER_TASK_TABLLE_DESDE ] = 175;
|
|
widths[AIDATATASKRUNER_TASK_TABLLE_HASTA ] = 175;
|
|
widths[AIDATATASKRUNER_TASK_TABLLE_ESTADO ] = 175;
|
|
widths[AIDATATASKRUNER_TASK_TABLLE_MODIFICAR ] = 150;
|
|
|
|
//---
|
|
m_section_pending_table.ColumnsWidth(widths);
|
|
|
|
//---
|
|
if(!p.CreateTable(
|
|
m_section_pending_table,
|
|
main_window,
|
|
0,
|
|
general_tabs,
|
|
tab_index,
|
|
AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL,
|
|
1,
|
|
headers,
|
|
x,
|
|
y,
|
|
0,
|
|
0,
|
|
false,
|
|
false,
|
|
right_gap + 5,
|
|
left_gap + 5
|
|
))
|
|
{
|
|
AIDATATASKRUNER_ERROR_CREATION(m_section_pending_table);
|
|
return false;
|
|
}
|
|
|
|
//---
|
|
return true;
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
bool CTaskRunerAiTabDGenMain::OnChangeDate(const long lparam, const double dparam)
|
|
{
|
|
//---
|
|
if(m_tabs.SelectedTab() == TASKRUNERAIDGENMAIN_TAB_MAIN)
|
|
{
|
|
if(lparam == m_section_nt_dc_dt_start.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifyDateStart(datetime(long(dparam)));
|
|
return true;
|
|
}
|
|
if(lparam == m_section_nt_dc_dt_end.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifyDateEnd(datetime(long(dparam)));
|
|
return true;
|
|
}
|
|
}
|
|
|
|
//---
|
|
return false;
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
bool CTaskRunerAiTabDGenMain::OnChangeComBox(const long lparam)
|
|
{
|
|
//---
|
|
if(m_tabs.SelectedTab() == TASKRUNERAIDGENMAIN_TAB_MAIN)
|
|
{
|
|
if(lparam == m_section_nt_combox_timerame.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifyTimeframe(g_arr_strtf_to_timeframes[m_section_nt_combox_timerame.GetListViewPointer().SelectedItemIndex()]);
|
|
return true;
|
|
}
|
|
}
|
|
|
|
//---
|
|
return false;
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
void CTaskRunerAiTabDGenMain::UpdateStateInTable(const int index, const int state)
|
|
{
|
|
m_section_pending_table.ChangeImage(AIDATATASKRUNER_TASK_TABLLE_ESTADO, index, state, true);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_ESTADO, index, g_taskruner_ai_dgen_main_images_label[index], 0, true);
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
bool CTaskRunerAiTabDGenMain::OnClickBottom(const long lparam)
|
|
{
|
|
switch(m_tabs.SelectedTab())
|
|
{
|
|
case TASKRUNERAIDGENMAIN_TAB_MAIN:
|
|
{
|
|
if(m_section_nt_buttom_add_task.Id() == lparam)
|
|
{
|
|
if(m_runer.OnCurrentTask_Add())
|
|
{
|
|
OnAddTask();
|
|
MessageBox("Exito al añadir tarea", "Info", MB_OK | MB_ICONINFORMATION);
|
|
}
|
|
else
|
|
{
|
|
MessageBox(StringFormat("Fallo al añadir tarea\n%s", m_runer.m_last_error_msg), "Error", MB_OK | MB_ICONERROR);
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
case TASKRUNERAIDGENMAIN_TAB_TASK:
|
|
{
|
|
if(m_section_buttom_pending_load.Id() == lparam) // Catgamos de arhcivo y rellenamos tabla y rpersnentaicon interna
|
|
{
|
|
// Selecionanos
|
|
if(FileSelectDialog("Escoje un archivo para cargar tareas", m_section_bsic_edit_main_folder.GetValue(), "CSV files (*.csv)|*.csv",
|
|
AIDATATASK_RUNNER_FSD_COMON_FLAG | FSD_FILE_MUST_EXIST, g_aitaskruner_arr_dyn, AIDATATASKRUNER_PATH_TASK) != 1)
|
|
{
|
|
MessageBox("Fallo al cargar tareas, no se ha selecionado un archivo", "Error", MB_OK | MB_ICONERROR);
|
|
return true; // Acerto pero fallo
|
|
}
|
|
|
|
// Solo si hay existo al setear
|
|
if(m_runer.SetTastByFile(g_aitaskruner_arr_dyn[0]))
|
|
{
|
|
const int t = m_runer.TaskSize();
|
|
m_section_pending_table.TableSize(AIDATATASKRUNER_TASK_TABLLE_COL_TOTAL, t);
|
|
|
|
for(int i = 0; i < t; i++)
|
|
{
|
|
const TaskTester task = m_runer.GetTaskByIndex(i);
|
|
|
|
//---
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_SIMBOLO, i, task.symbol);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_SIMBOLO_FOLDER, i, task.symbol_folder);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_TIMEFRAME, i, TimeframeToStrShort(task.timeframe));
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_LABEL, i, task.label);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_LABEL_ID, i, string(task.label_id));
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_DESDE, i, string(task.start_date));
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_HASTA, i, string(task.end_date));
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_ESTADO, i, g_taskruner_ai_dgen_main_images_label[TASKRUNERAIDGENMAIN_IMG_LABEL_PENDIENTE]);
|
|
m_section_pending_table.SetImages(AIDATATASKRUNER_TASK_TABLLE_ESTADO, i, g_taskruner_ai_dgen_main_images);
|
|
m_section_pending_table.ChangeImage(AIDATATASKRUNER_TASK_TABLLE_ESTADO, i, TASKRUNERAIDGENMAIN_IMG_LABEL_PENDIENTE); // gris
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MessageBox(StringFormat("Fallo al cargar tareas\n%s", m_runer.m_last_error_msg), AIDATATASKRUNER_CAPTION, MB_OK | MB_ICONERROR);
|
|
}
|
|
return true;
|
|
}
|
|
else
|
|
if(m_section_buttom_pending_save.Id() == lparam)
|
|
{
|
|
if(FileSelectDialog("Escoje un archivo para guardar tareas", m_section_bsic_edit_main_folder.GetValue(), "CSV files (*.csv)|*.csv",
|
|
AIDATATASK_RUNNER_FSD_COMON_FLAG, g_aitaskruner_arr_dyn, AIDATATASKRUNER_PATH_TASK) != 1)
|
|
{
|
|
MessageBox("Fallo al cargar tareas, no se ha selecionado un archivo", "Error", MB_OK | MB_ICONERROR);
|
|
return true; // Acerto pero fallo
|
|
}
|
|
|
|
if(!m_runer.SaveAllTaskInFile(g_aitaskruner_arr_dyn[0]))
|
|
{
|
|
MessageBox(StringFormat("Fallo al guardar tareas\n%s", m_runer.m_last_error_msg), AIDATATASKRUNER_CAPTION, MB_OK | MB_ICONERROR);
|
|
}
|
|
return true;
|
|
}
|
|
else
|
|
if(m_section_buttom_clean.Id() == lparam)
|
|
{
|
|
m_runer.m_last_error_msg = ""; // HACEMOS esto por que pueda ver que no haya tareas y se imprima un mensaje
|
|
int arr[];
|
|
const int t = m_runer.CleanAllTask(arr);
|
|
if(t <= 0) // Internsmnte solo
|
|
{
|
|
MessageBox(StringFormat("Fallo al limpiar todas las tareas\n%s", m_runer.m_last_error_msg), AIDATATASKRUNER_CAPTION, MB_OK | MB_ICONERROR);
|
|
}
|
|
else
|
|
{
|
|
m_section_pending_table.DeleteMultipleRows(arr);
|
|
return true;
|
|
}
|
|
}
|
|
else
|
|
if(m_section_buttom_execute_all.Id() == lparam)
|
|
{
|
|
m_runer.m_last_error_msg = ""; // HACEMOS esto por que pueda ver que no haya tareas y se imprima un mensaje
|
|
int arr[];
|
|
const int t = m_runer.RunAllTask(arr);
|
|
if(t <= 0)
|
|
{
|
|
MessageBox(StringFormat("No hay tareas para ejeuctar\n%s", m_runer.m_last_error_msg), AIDATATASKRUNER_CAPTION, MB_OK | MB_ICONWARNING);
|
|
}
|
|
else
|
|
{
|
|
// actuliamos el estaod de los elemntos devueltos por out estos ahora estan en cola
|
|
ActulizeTableAllTask(TASKRUNERAIDGENMAIN_IMG_LABEL_ENCOLA, arr, t);
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
//---
|
|
return false;
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
void CTaskRunerAiTabDGenMain::OnAddTask(void)
|
|
{
|
|
//--- Base
|
|
const TaskTester t = m_runer.CurrentTask(); // Ultimo (task current ya se reinicio)
|
|
const uint total_rows = m_section_pending_table.RowsTotal();
|
|
|
|
//--- Escojemos el indice
|
|
int idx;
|
|
if(total_rows == 1 && m_section_pending_table.GetValue(AIDATATASKRUNER_TASK_TABLLE_SIMBOLO, 0) == "")
|
|
{
|
|
idx = 0;
|
|
}
|
|
else
|
|
{
|
|
// Hay mas de un row
|
|
idx = (int)total_rows;
|
|
m_section_pending_table.AddRow(idx);
|
|
}
|
|
|
|
//
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_SIMBOLO, idx, t.symbol);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_SIMBOLO_FOLDER, idx, t.symbol_folder);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_TIMEFRAME, idx, TimeframeToStrShort(t.timeframe));
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_LABEL, idx, t.label);
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_LABEL_ID, idx, string(t.label_id));
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_DESDE, idx, TimeToString(t.start_date));
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_HASTA, idx, TimeToString(t.end_date));
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_ESTADO, idx, g_taskruner_ai_dgen_main_images_label[TASKRUNERAIDGENMAIN_IMG_LABEL_PENDIENTE]);
|
|
m_section_pending_table.SetImages(AIDATATASKRUNER_TASK_TABLLE_ESTADO, idx, g_taskruner_ai_dgen_main_images);
|
|
m_section_pending_table.ChangeImage(AIDATATASKRUNER_TASK_TABLLE_ESTADO, idx, TASKRUNERAIDGENMAIN_IMG_LABEL_PENDIENTE); // gris
|
|
m_section_pending_table.Update(true);
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
void CTaskRunerAiTabDGenMain::ActulizeTableAllTask(const int index_s, int &rows[], int size)
|
|
{
|
|
for(int i = 0; i < size; i++)
|
|
{
|
|
m_section_pending_table.SetValue(AIDATATASKRUNER_TASK_TABLLE_ESTADO, rows[i], g_taskruner_ai_dgen_main_images_label[index_s]);
|
|
m_section_pending_table.ChangeImage(AIDATATASKRUNER_TASK_TABLLE_ESTADO, rows[i], index_s); // gris
|
|
}
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
bool CTaskRunerAiTabDGenMain::OnTextEdit(const long lparam)
|
|
{
|
|
//---
|
|
if(m_tabs.SelectedTab() == TASKRUNERAIDGENMAIN_TAB_MAIN)
|
|
{
|
|
if(lparam == m_section_bsic_edit_files.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifyConfigMoveFile(m_section_bsic_edit_files.GetValue());
|
|
return true;
|
|
}
|
|
else
|
|
if(lparam == m_section_bsic_edit_main_folder.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifyConfigMainFolder(m_section_bsic_edit_main_folder.GetValue());
|
|
return true;
|
|
}
|
|
else
|
|
if(lparam == m_section_bsic_edit_expert_path.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifyConfigMoveFile(m_section_bsic_edit_expert_path.GetValue());
|
|
return true;
|
|
}
|
|
else
|
|
if(lparam == m_section_bsic_edit_progres_csv_file.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifyConfigProgresCsvFile(m_section_bsic_edit_progres_csv_file.GetValue());
|
|
return true;
|
|
}
|
|
//---
|
|
else
|
|
if(lparam == m_section_nt_edit_symbol.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifySimbolo(m_section_nt_edit_symbol.GetValue());
|
|
return true;
|
|
}
|
|
else
|
|
if(lparam == m_section_nt_edit_symbol_folder.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifySimboloFolder(m_section_nt_edit_symbol_folder.GetValue());
|
|
return true;
|
|
}
|
|
else
|
|
if(lparam == m_section_nt_edit_label.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifyLabel(m_section_nt_edit_label.GetValue());
|
|
return true;
|
|
}
|
|
else
|
|
if(lparam == m_section_nt_edit_label_id.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifyLabelId(int(m_section_nt_edit_label_id.GetValue()));
|
|
return true;
|
|
}
|
|
else
|
|
if(lparam == m_section_nt_edit_st_file.Id())
|
|
{
|
|
m_runer.OnCurrentTask_ModifySetFile(m_section_nt_edit_st_file.GetValue());
|
|
return true;
|
|
}
|
|
}
|
|
|
|
//---
|
|
return false;
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
void CTaskRunerAiTabDGenMain::OnLenguajeChange(void)
|
|
{
|
|
// const bool true = m_base_tab.SelectedTab() == m_base_tab_idx && m_base_tab.IsVisible();
|
|
|
|
//--- Update tab text
|
|
string txt[TASKRUNERAIDGENMAIN_TAB_TOTAL] = {m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_tabs) + "_0"], m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_tabs) + "_1"]};
|
|
const int t = m_tabs.TabsTotal();
|
|
for(int i = 0; i < t; i++)
|
|
{
|
|
m_tabs.Text(i, txt[i]);
|
|
}
|
|
m_tabs.Update();
|
|
|
|
//---
|
|
const int idx = m_tabs.SelectedTab();
|
|
UpdateTextMain();
|
|
UpdateTextTask();
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
void CTaskRunerAiTabDGenMain::UpdateTextTask()
|
|
{
|
|
// Buttons
|
|
m_section_buttom_pending_load.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_buttom_pending_load)]);
|
|
m_section_buttom_pending_load.Update(true);
|
|
|
|
m_section_buttom_pending_save.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_buttom_pending_save)]);
|
|
m_section_buttom_pending_save.Update(true);
|
|
|
|
m_section_buttom_execute_all.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_buttom_execute_all)]);
|
|
m_section_buttom_execute_all.Update(true);
|
|
|
|
m_section_buttom_clean.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_buttom_clean)]);
|
|
m_section_buttom_clean.Update(true);
|
|
|
|
// Headers de la tabla
|
|
const string header_str = m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_pending_table) + "_header"];
|
|
string headers[];
|
|
if(StrTo::CstArray(headers, header_str, '|', true))
|
|
{
|
|
const int cols = (int)m_section_pending_table.ColumnsTotal();
|
|
for(int i = 0; i < cols; i++)
|
|
{
|
|
m_section_pending_table.SetHeaderText(i, headers[i]);
|
|
}
|
|
m_section_pending_table.Update(true);
|
|
}
|
|
else
|
|
{
|
|
LogError("Fallo al hacer split str array en table header", FUNCION_ACTUAL);
|
|
}
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
void CTaskRunerAiTabDGenMain::UpdateTextMain()
|
|
{
|
|
//--- Basic config label
|
|
m_label_basic_config.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_label_basic_config)]);
|
|
m_label_basic_config.Update(true);
|
|
|
|
//--- Basic config edits
|
|
m_section_bsic_edit_files.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_bsic_edit_files)]);
|
|
m_section_bsic_edit_expert_path.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_bsic_edit_expert_path)]);
|
|
m_section_bsic_edit_progres_csv_file.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_bsic_edit_progres_csv_file)]);
|
|
m_section_bsic_edit_main_folder.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_bsic_edit_main_folder)]);
|
|
|
|
//--- Resize basic config edits
|
|
string texto;
|
|
int width;
|
|
|
|
texto = m_section_bsic_edit_files.LabelText();
|
|
m_section_bsic_edit_files.CanvasFontSet();
|
|
width = m_section_bsic_edit_files.m_canvas.TextWidth(texto);
|
|
m_section_bsic_edit_files.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 100);
|
|
m_section_bsic_edit_files.Update(true);
|
|
|
|
texto = m_section_bsic_edit_expert_path.LabelText();
|
|
m_section_bsic_edit_expert_path.CanvasFontSet();
|
|
width = m_section_bsic_edit_expert_path.m_canvas.TextWidth(texto);
|
|
m_section_bsic_edit_expert_path.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 300);
|
|
m_section_bsic_edit_expert_path.Update(true);
|
|
|
|
texto = m_section_bsic_edit_progres_csv_file.LabelText();
|
|
m_section_bsic_edit_progres_csv_file.CanvasFontSet();
|
|
width = m_section_bsic_edit_progres_csv_file.m_canvas.TextWidth(texto);
|
|
m_section_bsic_edit_progres_csv_file.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 300);
|
|
m_section_bsic_edit_progres_csv_file.Update(true);
|
|
|
|
texto = m_section_bsic_edit_main_folder.LabelText();
|
|
m_section_bsic_edit_main_folder.CanvasFontSet();
|
|
width = m_section_bsic_edit_main_folder.m_canvas.TextWidth(texto);
|
|
m_section_bsic_edit_main_folder.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 250);
|
|
m_section_bsic_edit_main_folder.Update(true);
|
|
|
|
//--- New task label
|
|
m_label_new_task.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_label_new_task)]);
|
|
m_label_new_task.Update(true);
|
|
|
|
//--- New task fields
|
|
m_section_nt_edit_symbol.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_symbol)]);
|
|
m_section_nt_edit_symbol_folder.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_symbol_folder)]);
|
|
m_section_nt_combox_timerame.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_combox_timerame)]);
|
|
m_section_nt_edit_label.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_label)]);
|
|
m_section_nt_edit_label_id.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_label_id)]);
|
|
m_section_nt_dc_dt_start.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_dc_dt_start)]);
|
|
m_section_nt_dc_dt_end.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_dc_dt_end)]);
|
|
m_section_nt_edit_st_file.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_edit_st_file)]);
|
|
|
|
//--- Resize new task edits y combox
|
|
texto = m_section_nt_edit_symbol.LabelText();
|
|
m_section_nt_edit_symbol.CanvasFontSet();
|
|
width = m_section_nt_edit_symbol.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_symbol.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 150);
|
|
m_section_nt_edit_symbol.Update(true);
|
|
|
|
texto = m_section_nt_edit_symbol_folder.LabelText();
|
|
m_section_nt_edit_symbol_folder.CanvasFontSet();
|
|
width = m_section_nt_edit_symbol_folder.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_symbol_folder.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 150);
|
|
m_section_nt_edit_symbol_folder.Update(true);
|
|
|
|
texto = m_section_nt_combox_timerame.LabelText();
|
|
m_section_nt_combox_timerame.CanvasFontSet();
|
|
width = m_section_nt_combox_timerame.m_canvas.TextWidth(texto);
|
|
m_section_nt_combox_timerame.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 150);
|
|
m_section_nt_combox_timerame.Update(true);
|
|
|
|
texto = m_section_nt_edit_label.LabelText();
|
|
m_section_nt_edit_label.CanvasFontSet();
|
|
width = m_section_nt_edit_label.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_label.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 200);
|
|
m_section_nt_edit_label.Update(true);
|
|
|
|
texto = m_section_nt_edit_label_id.LabelText();
|
|
m_section_nt_edit_label_id.CanvasFontSet();
|
|
width = m_section_nt_edit_label_id.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_label_id.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 175);
|
|
m_section_nt_edit_label_id.Update(true);
|
|
|
|
texto = m_section_nt_dc_dt_start.LabelText();
|
|
m_section_nt_dc_dt_start.CanvasFontSet();
|
|
width = m_section_nt_dc_dt_start.m_canvas.TextWidth(texto);
|
|
m_section_nt_dc_dt_start.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 100);
|
|
m_section_nt_dc_dt_start.Update(true);
|
|
|
|
texto = m_section_nt_dc_dt_end.LabelText();
|
|
m_section_nt_dc_dt_end.CanvasFontSet();
|
|
width = m_section_nt_dc_dt_end.m_canvas.TextWidth(texto);
|
|
m_section_nt_dc_dt_end.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 100);
|
|
m_section_nt_dc_dt_end.Update(true);
|
|
|
|
texto = m_section_nt_edit_st_file.LabelText();
|
|
m_section_nt_edit_st_file.CanvasFontSet();
|
|
width = m_section_nt_edit_st_file.m_canvas.TextWidth(texto);
|
|
m_section_nt_edit_st_file.XSize(width + AIDATATASKRUNER_MAINTAB_LABEL_X_PAD + 200);
|
|
m_section_nt_edit_st_file.Update(true);
|
|
|
|
//--- Button
|
|
m_section_nt_buttom_add_task.LabelText(m_language[AIDATATASKRUNNERL_COMPONENT_NAME(m_section_nt_buttom_add_task)]);
|
|
m_section_nt_buttom_add_task.Update(true);
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
#endif // AIDATATASKRUNER_UI_DATAGENERATIONTAB_BASE_MQH
|
|
|
|
//+------------------------------------------------------------------+
|