summaryrefslogtreecommitdiffstats
path: root/src/ui/interface.cpp
diff options
context:
space:
mode:
authorerihel <erihel@gmail.com>2012-08-17 22:43:07 +0200
committererihel <erihel@gmail.com>2012-08-17 22:43:07 +0200
commitc2464d4c71bbc0154287f0b0441aef05e27cf084 (patch)
treed000ff46f5b9e505c94a8e6532668a57c7f78e2a /src/ui/interface.cpp
parent10b2c562fb7635f9850f1441f08ba8b1a71e31e1 (diff)
downloadcolobot-c2464d4c71bbc0154287f0b0441aef05e27cf084.tar.gz
colobot-c2464d4c71bbc0154287f0b0441aef05e27cf084.tar.bz2
colobot-c2464d4c71bbc0154287f0b0441aef05e27cf084.zip
* changes to ui classes
Diffstat (limited to 'src/ui/interface.cpp')
-rw-r--r--src/ui/interface.cpp550
1 files changed, 142 insertions, 408 deletions
diff --git a/src/ui/interface.cpp b/src/ui/interface.cpp
index 50d2352..afedfc9 100644
--- a/src/ui/interface.cpp
+++ b/src/ui/interface.cpp
@@ -1,5 +1,6 @@
// * This file is part of the COLOBOT source code
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
+// * Copyright (C) 2012 Polish Portal of Colobot (PPC)
// *
// * This program is free software: you can redistribute it and/or modify
// * it under the terms of the GNU General Public License as published by
@@ -17,55 +18,19 @@
// interface.cpp
-#include <windows.h>
-#include <stdio.h>
-#include <d3d.h>
-
-#include "common/struct.h"
-#include "old/d3dengine.h"
-#include "old/math3d.h"
-#include "common/event.h"
-#include "common/misc.h"
-#include "common/iman.h"
-#include "ui/control.h"
-#include "ui/button.h"
-#include "ui/color.h"
-#include "ui/check.h"
-#include "ui/key.h"
-#include "ui/group.h"
-#include "ui/image.h"
-#include "ui/label.h"
-#include "ui/edit.h"
-#include "ui/editvalue.h"
-#include "ui/scroll.h"
-#include "ui/slider.h"
-#include "ui/list.h"
-#include "ui/shortcut.h"
-#include "ui/compass.h"
-#include "ui/target.h"
-#include "ui/map.h"
-#include "ui/window.h"
-#include "old/camera.h"
-#include "ui/interface.h"
-
-
-
-
-// Object's constructor.
-
-CInterface::CInterface(CInstanceManager* iMan)
-{
- int i;
+#include <ui/interface.h>
- m_iMan = iMan;
- m_iMan->AddInstance(CLASS_INTERFACE, this);
- m_engine = (CD3DEngine*)m_iMan->SearchInstance(CLASS_ENGINE);
- m_camera = 0;
+CInterface::CInterface()
+{
+ m_iMan = CInstanceManager::GetInstancePointer();
+ m_iMan->AddInstance(CLASS_INTERFACE, this);
+ m_event = static_cast<CEventQueue *>( m_iMan->SearchInstance(CLASS_EVENT) );
+ m_engine = static_cast<Gfx::CEngine *>( m_iMan->SearchInstance(CLASS_ENGINE) );
- for ( i=0 ; i<MAXCONTROL ; i++ )
+ for (int i = 0; i < MAXCONTROL; i++ )
{
- m_table[i] = 0;
+ m_table[i] = nullptr;
}
}
@@ -74,6 +39,7 @@ CInterface::CInterface(CInstanceManager* iMan)
CInterface::~CInterface()
{
Flush();
+ m_iMan->DeleteInstance(CLASS_INTERFACE, this);
}
@@ -81,424 +47,222 @@ CInterface::~CInterface()
void CInterface::Flush()
{
- int i;
-
- for ( i=0 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] != 0 )
- {
+ for (int i = 0; i < MAXCONTROL; i++ ) {
+ if ( m_table[i] != nullptr ) {
delete m_table[i];
- m_table[i] = 0;
+ m_table[i] = nullptr;
}
}
}
-// Creates a new button.
-
-CWindow* CInterface::CreateWindows(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+int CInterface::GetNextFreeControl()
{
- CWindow* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- if ( eventMsg == EVENT_WINDOW0 ) {i=0; goto create;}
- if ( eventMsg == EVENT_WINDOW1 ) {i=1; goto create;}
- if ( eventMsg == EVENT_WINDOW2 ) {i=2; goto create;}
- if ( eventMsg == EVENT_WINDOW3 ) {i=3; goto create;}
- if ( eventMsg == EVENT_WINDOW4 ) {i=4; goto create;}
- if ( eventMsg == EVENT_WINDOW5 ) {i=5; goto create;}
- if ( eventMsg == EVENT_WINDOW6 ) {i=6; goto create;}
- if ( eventMsg == EVENT_WINDOW7 ) {i=7; goto create;}
- if ( eventMsg == EVENT_WINDOW8 ) {i=8; goto create;}
- if ( eventMsg == EVENT_WINDOW9 ) {i=9; goto create;}
-
- if ( eventMsg == EVENT_TOOLTIP ) {i=MAXCONTROL-1; goto create;}
-
- for ( i=10 ; i<MAXCONTROL-1 ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- create:
- m_table[i] = new CWindow(m_iMan);
- pc = (CWindow*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
+ for (int i = 10; i < MAXCONTROL-1; i++) {
+ if (m_table[i] == nullptr)
+ return i;
}
- return 0;
+ return -1;
}
-// Creates a new button.
-CButton* CInterface::CreateButton(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+template <typename T> inline T* CInterface::CreateControl(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CButton* pc;
- int i;
+ T* pc;
+ int index;
+ Event event;
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CButton(m_iMan);
- pc = (CButton*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
+ if (eventMsg == EVENT_NULL) {
+ m_event->GetEvent(event);
+ eventMsg = event.type;
}
- return 0;
+
+ if ((index = GetNextFreeControl()) < 0)
+ return nullptr;
+
+ m_table[index] = new T();
+ pc = static_cast<T *>(m_table[index]);
+ pc->Create(pos, dim, icon, eventMsg);
+ return pc;
}
+
// Creates a new button.
-CColor* CInterface::CreateColor(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CWindow* CInterface::CreateWindows(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CColor* pc;
- int i;
+ CWindow* pc;
+ int index;
+ Event event;
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
+ if (eventMsg == EVENT_NULL) {
+ m_event->GetEvent(event);
+ eventMsg = event.type;
+ }
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CColor(m_iMan);
- pc = (CColor*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
+ switch (eventMsg) {
+ case EVENT_WINDOW0: index = 0; break;
+ case EVENT_WINDOW1: index = 1; break;
+ case EVENT_WINDOW2: index = 2; break;
+ case EVENT_WINDOW3: index = 3; break;
+ case EVENT_WINDOW4: index = 4; break;
+ case EVENT_WINDOW5: index = 5; break;
+ case EVENT_WINDOW6: index = 6; break;
+ case EVENT_WINDOW7: index = 7; break;
+ case EVENT_WINDOW8: index = 8; break;
+ case EVENT_WINDOW9: index = 9; break;
+ case EVENT_TOOLTIP: index = MAXCONTROL-1; break;
+ default: index = GetNextFreeControl(); break;
}
- return 0;
+
+ if (index < 0)
+ return nullptr;
+
+ m_table[index] = new CWindow();
+ pc = static_cast<CWindow *>(m_table[index]);
+ pc->Create(pos, dim, icon, eventMsg);
+ return pc;
}
// Creates a new button.
-CCheck* CInterface::CreateCheck(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CButton* CInterface::CreateButton(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CCheck* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CCheck(m_iMan);
- pc = (CCheck*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+ return CreateControl<CButton>(pos, dim, icon, eventMsg);
}
// Creates a new button.
-CKey* CInterface::CreateKey(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CColor* CInterface::CreateColor(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CKey* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CKey(m_iMan);
- pc = (CKey*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+ return CreateControl<CColor>(pos, dim, icon, eventMsg);
}
// Creates a new button.
-CGroup* CInterface::CreateGroup(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CCheck* CInterface::CreateCheck(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CGroup* pc;
- int i;
+ return CreateControl<CCheck>(pos, dim, icon, eventMsg);
+}
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
+// Creates a new button.
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CGroup(m_iMan);
- pc = (CGroup*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+CKey* CInterface::CreateKey(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
+{
+ return CreateControl<CKey>(pos, dim, icon, eventMsg);
}
// Creates a new button.
-CImage* CInterface::CreateImage(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CGroup* CInterface::CreateGroup(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CImage* pc;
- int i;
+ return CreateControl<CGroup>(pos, dim, icon, eventMsg);
+}
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
+// Creates a new button.
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CImage(m_iMan);
- pc = (CImage*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+CImage* CInterface::CreateImage(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
+{
+ return CreateControl<CImage>(pos, dim, icon, eventMsg);
}
// Creates a new label.
-CLabel* CInterface::CreateLabel(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg,
- char *name)
+CLabel* CInterface::CreateLabel(Math::Point pos, Math::Point dim, int icon, EventType eventMsg, const char *name)
{
- CLabel* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CLabel(m_iMan);
- pc = (CLabel*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- pc->SetName(name);
- return pc;
- }
- }
- return 0;
+ CLabel* pc = CreateControl<CLabel>(pos, dim, icon, eventMsg);
+ if (pc != nullptr)
+ pc->SetName(name);
+ return pc;
}
// Creates a new pave editable.
-CEdit* CInterface::CreateEdit(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CEdit* CInterface::CreateEdit(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CEdit* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CEdit(m_iMan);
- pc = (CEdit*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+ return CreateControl<CEdit>(pos, dim, icon, eventMsg);
}
// Creates a new pave editable.
-CEditValue* CInterface::CreateEditValue(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CEditValue* CInterface::CreateEditValue(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CEditValue* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CEditValue(m_iMan);
- pc = (CEditValue*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+ return CreateControl<CEditValue>(pos, dim, icon, eventMsg);
}
// Creates a new lift.
-CScroll* CInterface::CreateScroll(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CScroll* CInterface::CreateScroll(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CScroll* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CScroll(m_iMan);
- pc = (CScroll*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+ return CreateControl<CScroll>(pos, dim, icon, eventMsg);
}
// Creates a new cursor.
-CSlider* CInterface::CreateSlider(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CSlider* CInterface::CreateSlider(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CSlider* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CSlider(m_iMan);
- pc = (CSlider*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+ return CreateControl<CSlider>(pos, dim, icon, eventMsg);
}
// Creates a new list.
-CList* CInterface::CreateList(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg,
- float expand)
+CList* CInterface::CreateList(Math::Point pos, Math::Point dim, int icon, EventType eventMsg, float expand)
{
- CList* pc;
- int i;
+ CList* pc;
+ int index;
+ Event event;
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CList(m_iMan);
- pc = (CList*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg, expand);
- return pc;
- }
+ if (eventMsg == EVENT_NULL) {
+ m_event->GetEvent(event);
+ eventMsg = event.type;
}
- return 0;
+
+ if ((index = GetNextFreeControl()) < 0)
+ return nullptr;
+
+ m_table[index] = new CList();
+ pc = static_cast<CList *>(m_table[index]);
+ pc->Create(pos, dim, icon, eventMsg, expand);
+ return pc;
}
// Creates a new shortcut.
-CShortcut* CInterface::CreateShortcut(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CShortcut* CInterface::CreateShortcut(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CShortcut* ps;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CShortcut(m_iMan);
- ps = (CShortcut*)m_table[i];
- ps->Create(pos, dim, icon, eventMsg);
- return ps;
- }
- }
- return 0;
+ return CreateControl<CShortcut>(pos, dim, icon, eventMsg);
}
// Creates a new compass.
-CCompass* CInterface::CreateCompass(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CCompass* CInterface::CreateCompass(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CCompass* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CCompass(m_iMan);
- pc = (CCompass*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+ return CreateControl<CCompass>(pos, dim, icon, eventMsg);
}
// Creates a new target.
-CTarget* CInterface::CreateTarget(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CTarget* CInterface::CreateTarget(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CTarget* pc;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CTarget(m_iMan);
- pc = (CTarget*)m_table[i];
- pc->Create(pos, dim, icon, eventMsg);
- return pc;
- }
- }
- return 0;
+ return CreateControl<CTarget>(pos, dim, icon, eventMsg);
}
// Creates a new map.
-CMap* CInterface::CreateMap(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
+CMap* CInterface::CreateMap(Math::Point pos, Math::Point dim, int icon, EventType eventMsg)
{
- CMap* pm;
- int i;
-
- if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
-
- for ( i=10 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] == 0 )
- {
- m_table[i] = new CMap(m_iMan);
- pm = (CMap*)m_table[i];
- pm->Create(pos, dim, icon, eventMsg);
- return pm;
- }
- }
- return 0;
+ return CreateControl<CMap>(pos, dim, icon, eventMsg);
}
// Removes a control.
-bool CInterface::DeleteControl(EventMsg eventMsg)
+bool CInterface::DeleteControl(EventType eventMsg)
{
- int i;
-
- for ( i=0 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] != 0 )
- {
- if ( eventMsg == m_table[i]->RetEventMsg() )
- {
+ for (int i = 0; i < MAXCONTROL; i++) {
+ if ( m_table[i] != nullptr ) {
+ if (eventMsg == m_table[i]->GetEventType()) {
delete m_table[i];
- m_table[i] = 0;
+ m_table[i] = nullptr;
return true;
}
}
@@ -508,47 +272,32 @@ bool CInterface::DeleteControl(EventMsg eventMsg)
// Gives a control.
-CControl* CInterface::SearchControl(EventMsg eventMsg)
+CControl* CInterface::SearchControl(EventType eventMsg)
{
- int i;
-
- for ( i=0 ; i<MAXCONTROL ; i++ )
- {
- if ( m_table[i] != 0 )
- {
- if ( eventMsg == m_table[i]->RetEventMsg() )
- {
+ for (int i = 0; i < MAXCONTROL; i++) {
+ if (m_table[i] != nullptr) {
+ if (eventMsg == m_table[i]->GetEventType())
return m_table[i];
- }
}
}
- return 0;
+ return nullptr;
}
// Management of an event.
bool CInterface::EventProcess(const Event &event)
{
- int i;
-
- if ( event.event == EVENT_MOUSEMOVE )
- {
- if ( m_camera == 0 )
- {
- m_camera = (CCamera*)m_iMan->SearchInstance(CLASS_CAMERA);
+ if (event.type == EVENT_MOUSE_MOVE) {
+ if (m_camera == nullptr) {
+ m_camera = static_cast<Gfx::CCamera *>(m_iMan->SearchInstance(CLASS_CAMERA));
}
- m_engine->SetMouseType(m_camera->RetMouseDef(event.pos));
+ m_engine->SetMouseType(m_camera->GetMouseDef(event.pos));
}
- for ( i=MAXCONTROL-1 ; i>=0 ; i-- )
- {
- if ( m_table[i] != 0 &&
- m_table[i]->TestState(STATE_ENABLE) )
- {
+ for (int i = MAXCONTROL-1; i >= 0; i--) {
+ if (m_table[i] != nullptr && m_table[i]->TestState(STATE_ENABLE)) {
if ( !m_table[i]->EventProcess(event) )
- {
return false;
- }
}
}
@@ -558,18 +307,12 @@ bool CInterface::EventProcess(const Event &event)
// Gives the tooltip binding to the window.
-bool CInterface::GetTooltip(Math::Point pos, char* name)
+bool CInterface::GetTooltip(Math::Point pos, const char* name)
{
- int i;
-
- for ( i=MAXCONTROL-1 ; i>=0 ; i-- )
- {
- if ( m_table[i] != 0 )
- {
- if ( m_table[i]->GetTooltip(pos, name) )
- {
+ for (int i = MAXCONTROL-1; i >= 0; i--) {
+ if (m_table[i] != nullptr) {
+ if (m_table[i]->GetTooltip(pos, name))
return true;
- }
}
}
return false;
@@ -580,26 +323,17 @@ bool CInterface::GetTooltip(Math::Point pos, char* name)
void CInterface::Draw()
{
- D3DMATERIAL7 material;
- int i;
-
- ZeroMemory( &material, sizeof(D3DMATERIAL7) );
+ /*ZeroMemory( &material, sizeof(D3DMATERIAL7) );
material.diffuse.r = 1.0f;
material.diffuse.g = 1.0f;
material.diffuse.b = 1.0f;
material.ambient.r = 0.5f;
material.ambient.g = 0.5f;
material.ambient.b = 0.5f;
- m_engine->SetMaterial(material);
+ m_engine->SetMaterial(material);*/
- for ( i=0 ; i<MAXCONTROL ; i++ )
-//? for ( i=MAXCONTROL-1 ; i>=0 ; i-- )
- {
- if ( m_table[i] != 0 )
- {
+ for (int i = 0; i < MAXCONTROL; i++) {
+ if ( m_table[i] != nullptr )
m_table[i]->Draw();
- }
}
}
-
-