//+------------------------------------------------------------------+ //| TMGUI.mqh | //| Thorsten Fischer Copyright 2019 | //| https://www.tfsystem.de | //+------------------------------------------------------------------+ #property copyright "Thorsten Fischer Copyright 2019" #property link "https://www.tfsystem.de" #property version "1.00" #include //#include //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ class CTMGUI { private: CTFWndFrame m_main_frame; // Hauptfenster public: CTMGUI(); ~CTMGUI(); //void ChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam); //virtual int OnInitEvent(void); virtual bool Create(void); // GUI erstellen virtual void Destroy(const int reason=REASON_PROGRAM); // GUI entfernen virtual bool Load(const int file_handle); // Load Data virtual bool Save(const int file_handle); // Save Data protected: //CChart m_chart; // Übergeordneter Chart }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CTMGUI::CTMGUI() { //--- initialisieren //GUIName(ProgrammName); m_main_frame.FrameName(MainFrameName); m_main_frame.FrameNormalPosition(MainFrameLeft,MainFrameTop,MainFrameRight,MainFrameBottom); m_main_frame.FrameMinimizedPosition(); //m_main_frame.Top(0); //m_main_frame.m_frame_normal.RightBottom((int)ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0),(int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0)); //m_main_frame.Bottom((int)ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0)); //m_main_frame.SetNormalPosition(ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0)-400,0,ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0),ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0)); //m_chart_window_height=ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0); //m_window_width=400; //m_window_height=m_chart_window_height; //m_window_x=m_chart_window_width-m_window_width; //m_window_y=0; //DPrint(__FUNCTION__+" ende"); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CTMGUI::~CTMGUI() { } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ //int CTMGUI::OnInitEvent(void) // { ////--- // if(!Create()) // return(false); // //// DPrint(__FUNCTION__+" anfang"); //// m_program_name=MQLInfoString(MQL_PROGRAM_NAME); //// m_chart_window_width=ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0); //// m_chart_window_height=ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0); ////DPrint("Width vorher = "+m_window_width); ////m_window_width=200; ////DPrint("Width nachher = "+m_window_width); //// m_window_height=m_chart_window_height; //// m_window_x=m_chart_window_width-m_window_width; //// m_window_y=0; //// ////DPrint("Char-ID = "+ChartID()); ////DPrint("Window-ID = "+Window()); ////DPrint("Window-Name = "+Name()); ////--- // return(true); // } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool CTMGUI::Create(void) { //--- if(!m_main_frame.Create()) DPrint(__FUNCTION__+" > Fehler bei dem erstellen des MainFrame"); //--- ChartRedraw(); //--- succeed return(true); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void CTMGUI::Destroy(const int reason) { //--- destroyed already? //if(m_deinit_reason!=WRONG_VALUE) // return; //--- //m_deinit_reason=reason; //IniFileSave(); //--- detach chart object from chart //m_chart.Detach(); //--- call parent destroy //CDialog::Destroy(); //CWndContainer::Destroy(); //CTFWndFrame::Destroy(); m_main_frame.Destroy(reason); //--- //if(reason==REASON_PROGRAM) // { // if(m_program_type==PROGRAM_EXPERT) // ExpertRemove(); // if(m_program_type==PROGRAM_INDICATOR) // ChartIndicatorDelete(m_chart_id,m_subwin,m_indicator_name); // } //--- send message //EventChartCustom(CONTROLS_SELF_MESSAGE,ON_APP_CLOSE,m_subwin,0.0,m_program_name); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ //void CTFGUI::ChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) // { // } //+------------------------------------------------------------------+ //| Load Data | //+------------------------------------------------------------------+ bool CTMGUI::Load(const int file_handle) { //--- DPrint(__FUNCTION__+" durchlaufen"); //--- return(true); } //+------------------------------------------------------------------+ //| Save Data | //+------------------------------------------------------------------+ bool CTMGUI::Save(const int file_handle) { //--- DPrint(__FUNCTION__+" durchlaufen"); //--- return(true); } //+------------------------------------------------------------------+