Discussion of article "DoEasy. Controls (Part 15): TabControl WinForms object — several rows of tab headers, tab handling methods"

 

New article DoEasy. Controls (Part 15): TabControl WinForms object — several rows of tab headers, tab handling methods has been published:

In this article, I will continue working on the TabControl WinForm object — I will create a tab field object class, make it possible to arrange tab headers in several rows and add methods for handling object tabs.

Compile the EA and launch it on the chart:


Creation of the objects takes quite a long time. Soon it will be necessary to change the logic of displaying objects during their bulk creation. I will deal with this shortly. When choosing a fixed size for the tab headers and a size that adjusts to the font width, we can see that the sizes of the tabs are different. Selecting the desired tab and rearranging the rows of tabs work correctly. The objects on the tabs are available for mouse interaction. So far, everything is correct, which means that we can continue the development of the control functionality.

Author: Artyom Trishkin

 

Hi @Artyom Trishkin

thanks for your amazing libraries,

I found a little bug or missing parameters about market event logs, you can see the STATUS UNKNOWN appears for orders or positions modification,

you can see the yellow highlighted lines in picture



I think you forgot to put this line to CEvent::StatusDescription


string CEvent::StatusDescription(void) const
  {
   ENUM_EVENT_STATUS status=(ENUM_EVENT_STATUS)this.GetProperty(EVENT_PROP_STATUS_EVENT);
   return
     (
      status==EVENT_STATUS_MARKET_PENDING    ?  CMessage::Text(MSG_EVN_STATUS_MARKET_PENDING)   :
      status==EVENT_STATUS_MARKET_POSITION   ?  CMessage::Text(MSG_EVN_STATUS_MARKET_POSITION)  :
      status==EVENT_STATUS_HISTORY_PENDING   ?  CMessage::Text(MSG_EVN_STATUS_HISTORY_PENDING)  :
      status==EVENT_STATUS_HISTORY_POSITION  ?  CMessage::Text(MSG_EVN_STATUS_HISTORY_POSITION) :
      status==EVENT_STATUS_MODIFY            ?  CMessage::Text(MSG_EVN_REASON_MODIFY)           :
      status==EVENT_STATUS_BALANCE           ?  CMessage::Text(MSG_LIB_PROP_BALANCE)            :
      CMessage::Text(MSG_EVN_STATUS_UNKNOWN)
     );
  }
 
Koros Jafarzadeh #:

Hi @Artyom Trishkin

thanks for your amazing libraries,

I found a little bug or missing parameters about market event logs, you can see the STATUS UNKNOWN appears for orders or positions modification,

you can see the yellow highlighted lines in picture



I think you forgot to put this line to CEvent::StatusDescription


Thank you. I'll take a look in a week - I'm on holiday.