TF-altProjekte/Experts/Ablage/TF-TM/TMGUI.mqh
super.admin 84cd1a7ab0 convert
2025-05-30 16:31:33 +02:00

155 lines
12 KiB
MQL5

//+------------------------------------------------------------------+
//| 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 <TF-GUI\TFWndFrame.mqh>
//#include <Charts\Chart.mqh>
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
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);
}
//+------------------------------------------------------------------+