Libraries: EasyAndFastGUI library for creating graphical interfaces - page 23

 

Hi All,

I tried to use that library and add a Histogram with several series like the one from the amazing HighChart JS library...




I first tried with the CGraph component, but it apear we can not add several series in Histogram mode, or I did not managed to.

Then I founded the one from the standard MT5 library in Scripts \ Examples \ Canvas \ Charts \ HistogramChartSample.mq5.



I managed to customise it a little bit ...


and then I tried to create a CHistogram based on CElement. So I create a CHistogram compoenent in Controls folder. I reference that component in WndContainer.mqh and create a sample expert in EasyAndFastGUI \ Experts \ och_test_histogram.mq 5.

But I do not managed to include in CWindow component.

This will allow to add on CWindow histogram and Pie ...

Any help will be appreciated.

Bst regards,

och

Interactive JavaScript charts for your webpage | Highcharts
  • www.highcharts.com
Highcharts - Interactive JavaScript charts for your web pages.
Files:
 

Hi All,


I fixed it, briefly, but I still have a memory leak when I remove the expert.



I don't know how to track this memory leak ...


Bst regards,

och

Files:
EasyAndFastGUI.zip  1022 kb
 

Hi Anatoli,

I'm getting difficult to study all articles about your library. I don't wanna get into the architecture and details how it's designed. I just wanna make it works into my EAs. Don't you ever think about to create a kind of tutorial for it ?

An issue. When I compile ExampleEAF, MetaEditor shows me these warnings (I use MT5):

MetaEditor Warnings after compile.

Best regards,

jeff

 

Hi everybody,

Yevgen Drumachyk, have you recieve a response about the correction to give to the program ? 

Thank for you help

 

Good afternoon, Anatoly. I would like to congratulate you on your excellent work. And take this opportunity to ask if you can fit the histogram in the last column on the right in a three-column table. The first column would be the price list, the second column would be the volume of trades at each price level, and the third column would be the histogram. I translated from Portuguese to Russian. I hope it was understandable.

 
tailertche #:

Good afternoon, Anatoly. I would like to congratulate you on your excellent work. And take this opportunity to ask if you can fit the histogram in the last column on the right in a three-column table. The first column would be the price list, the second column would be the volume of trades at each price level, and the third column would be the histogram. I translated from Portuguese to Russian. I hope it was understandable.

Good afternoon.

Unfortunately, I have not been working on this library for a long time. I am busy with another project now.

 
Anatoli Kazharski # :

Boa tarde.

Infelizmente, eu não lidei com essa biblioteca por muito tempo. Ocupado agora com outro projeto.

Good morning. I made some changes to the code and got a great result. But all thanks to his teachings. Congratulations again for a work that really deserves to be recognised.

 

Hello, is this library still supported?

thanks

 

Hello, you have to replace


CElement::Update(true)

CElementBase::IsLocked()

CElementBase::IsVisible()

CElementBase::IsAvailable()


For Example



Hope, that helps

regards

 

Can you tell me why the window close event may not be generated for an additional window. For the main window I get id 1007 in OnChartEvent(), but for the additional window I don't....

I set the use of the close button using the CloseButtonIsUsed() method in the same way as with the main window. I get the window and the closing cross. But when you press it, the correct closing code is not generated. And no events work at all. The additional window doesn't move, among other things.

bool CButton::OnClickButton(const string pressed_object)
  {
//--- Exit if (1) foreign object name or (2) item is locked
   if(m_canvas.ChartObjectName()!=pressed_object || CElementBase::IsLocked())
      return(false);
//--- If it is a button with two states
   if(m_two_state)
      IsPressed(!IsPressed());
//--- Redraw the element
   Update(true);
//--- Send a message about it
   ::EventChartCustom(m_chart_id,ON_CLICK_BUTTON,CElementBase::Id(),CElementBase::Index(),m_canvas.ChartObjectName());
   return(true);
  }

Here. For some reason m_canvas.ChartObjectName()!=pressed_object.