//+------------------------------------------------------------------+ //| 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 //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "..\\UI\\Main.mqh" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ class CProgram : public CWndCreate { private: //--- CTaskRunerMainTab m_main; CWindow m_window; CTabs m_general_tabs; public: CProgram(void) {} ~CProgram(void) {} //--- bool CreateGUI(int WIDTH_PANEL, int HEIGHT_PANEL, uchar log_flags); CTaskRunerMainTab* GetTaskRunerMainPtr() { return &m_main; } //--- void OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam) override; void OnDeinitEvent(const int reason) { CWndEvents::Destroy(); } }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool CProgram::CreateGUI(int WIDTH_PANEL, int HEIGHT_PANEL, uchar log_flags) { //--- int width_panel = fmax(WIDTH_PANEL, 300); m_window.CaptionColor(clrGray); m_window.CaptionColorHover(clrGray); m_window.CaptionColorLocked(clrBlack); m_window.BorderColor(C'212,212,212'); 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() + 22; int right_gap = 4; int bootom_gap = 4; Print(top_gap); // Para tabs el y debe de inlcuir ya la cabezera //--- string txt[] = {"Main", "EMpty"}; int width[] = {100, 100}; //m_general_tabs.TabsYSize() m_general_tabs.BackColor(C'191,191,191'); m_general_tabs.BackColorPressed(C'201,203,205'); if(!CWndCreate::CreateTabs(m_general_tabs, m_window, 0, left_gap, top_gap, 0, 0, txt, width, TABS_TOP, true, true, right_gap, bootom_gap)) { AIDATATASKRUNER_ERROR_CREATION_F(m_general_tabs); return false; } top_gap += 1; left_gap += 3; //--- if(!m_main.Create(&this, m_window, m_general_tabs, 0, top_gap, left_gap, right_gap, bootom_gap)) { AIDATATASKRUNER_ERROR_CREATION_F(m_main); return false; } else { m_main.AddLogFlags(log_flags); } //--- CWndEvents::CompletedGUI(); return true; } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void CProgram::OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id == CHARTEVENT_CUSTOM + ON_END_EDIT) { m_main.OnTextEdit(lparam); return; } if(id == CHARTEVENT_CUSTOM + ON_CLICK_BUTTON) { m_main.OnClickBottom(lparam); return; } if(id == CHARTEVENT_CUSTOM + ON_CHANGE_DATE) { m_main.OnChangeDate(lparam, dparam); return; } if(id == CHARTEVENT_CUSTOM + ON_CLICK_COMBOBOX_ITEM) { m_main.OnChangeComBox(lparam); return; } } //+------------------------------------------------------------------+