What is the Limitation of Panels? Can we discuss here?

 

Dear Traders and Coders.

After playing around with Panel control, I have found few limitations already. For example, two panel seems clash in one expert advisor.

Plus when the list view is dynamically updated on Panel, changing position of panel by dragging mouse or whatever seems mis-positioning the list view on wrong places.

Little clumsy at the moment. Hope things are little bit improved in the future. Have not tested in MT4 version yet.

Please share if you have found any other wired behaviour when you are using Panels. If not found any, then that is great. I want to find out more about panel before I am considering to use them heavier.

Kind regards.

 

My honest opinion? Forget the whole Controls folder and it´s classes, it´s full of bugs and many things are simply not working.

I started to work with it couple of months ago can came someday to the conclusion to drop everything which has to do with CWnd and created everything new, from the very first pixel. And every release of MT comes with the old bugs in these classes over and over again, nothing is fixed here. Best example: The rect.mqh ... easiest class of all but has 9 bugs cause width and height is wrong calculated - since the very first day it was released. 

Doerk 

 
Doerk:

My honest opinion? Forget the whole Controls folder and it´s classes, it´s full of bugs and many things are simply not working.



Ditto. I stopped working with it a few months back for the same reasons. Shows some great promise but far too buggy to be able to use it at the moment.
 

Furthermore, the architecture is kinda wrong designed. You act always somehow "in" the dialog class, it´s all not designed to have more than one interaction window, and the CPU goes up to 80-90% when you just move the mouse over it. You won´t get lucky with these classes when you have a bit more in mind than just a few buttons and edits. 

Doerk 

 
Doerk:

Furthermore, the architecture is kinda wrong designed. You act always somehow "in" the dialog class, it´s all not designed to have more than one interaction window, and the CPU goes up to 80-90% when you just move the mouse over it. You won´t get lucky with these classes when you have a bit more in mind than just a few buttons and edits. 

Doerk 

I quite agree with CPU usage. When i remove my expert advisor with panel, I get to see meta trader terminal stopping for few seconds.

I guess the complexity of panel does impose on a lot of CPU usage. 




 
Young Ho Seo:
I quite agree with CPU usage. When i remove my expert advisor with panel, I get to see meta trader terminal stopping for few seconds.

I guess the complexity of panel does impose on a lot of CPU usage. 




It´s not really the complexity, because it´s not really complex. The focus of the developers was on low-redundancy, clean code, not on performance. But you can´t get performance with too low redundancy, not when there are on top no mechanisms which compensate these problems. I don´t know your background in things like these, but when you´re able to create it yourself, do it, it will give you less headache in the end ;) I really got gray hair with these classes and it made me somehow angry when I found new bugs and problems every day. And not to forget, that all those bugs are 2 years old ... how can this be?
 
Doerk:
It´s not really the complexity, because it´s not really complex. The focus of the developers was on low-redundancy, clean code, not on performance. But you can´t get performance with too low redundancy, not when there are on top no mechanisms which compensate these problems. I don´t know your background in things like these, but when you´re able to create it yourself, do it, it will give you less headache in the end ;) I really got gray hair with these classes and it made me somehow angry when I found new bugs and problems every day. 

The complexity I meant was actually list view dynamically updating embedded on panel with about between 100 and 500 rows.

Wanted to have data gris view in fact. But looking at how list view is behaving. I guess data grid view might even impose heavier CPU usage. 

Buttons and labels are probably easily replaced  with direct MT4 button object and label object.

But it is not easy to create list view or data grid view using pure object class.

Just one thought. :)



 
Young Ho Seo:

The complexity I meant was actually list view dynamically updating embedded on panel with about between 100 and 500 rows.

Wanted to have data gris view in fact. But looking at how list view is behaving. I guess data grid view might even impose heavier CPU usage. 

Buttons and labels are probably easily replaced  with direct MT4 button object and label object.

But it is not easy to create list view or data grid view using pure object class.

Just one thought. :)



Nobody said it´s easy, but it´s possible and you can do much more with MQL5 and MT4/MT5 that you maybe know. I was luckily surprised when I started my stuff. And the performance of MQL is just amazing. Focus on the CCanvas, take the basic idea behind CWnd, combine both and then do it better. 
 
Young Ho Seo:

The complexity I meant was actually list view dynamically updating embedded on panel with about between 100 and 500 rows.

Wanted to have data gris view in fact. But looking at how list view is behaving. I guess data grid view might even impose heavier CPU usage. 

Buttons and labels are probably easily replaced  with direct MT4 button object and label object.

But it is not easy to create list view or data grid view using pure object class.

Just one thought. :)



The problem here, sorry didn t recognize this part, is that there is no .Update(), instead .Show() is always used. Thats what i meant i. E. with no mechanisms to compensate. The idea behind is not sooo bad, but the realization and the whole class architecture cannot handle whats actually needed.