OWLNext    7.0
Borland's Object Windows Library for the modern age
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
tracewnd.h
Go to the documentation of this file.
1//----------------------------------------------------------------------------
2// ObjectWindows
3// Copyright (c) 1998 by Yura Bidus, All Rights Reserved
4//
5/// \file
6/// Definition of private class TTraceWindow.
7//----------------------------------------------------------------------------
8
9#ifndef OWL_TRACEWND_H
10#define OWL_TRACEWND_H
11
12#include <owl/private/defs.h>
13#if defined(BI_HAS_PRAGMA_ONCE)
14# pragma once
15#endif
16
17#include <owl/defs.h>
18#include <owl/framewin.h>
19
20namespace owl {
21
22#include <owl/preclass.h>
23
24class _OWLCLASS TPaneSplitter;
25class _OWLCLASS TImageList;
26class _OWLCLASS TEdit;
27class _OWLCLASS TListBox;
28
30 : public TFrameWindow, public TDiagBaseHook
31{
32public:
33
34 static auto GetInstance(bool shouldCreateIfNeccessary = false) -> TTraceWindow*;
35 static void DestroyInstance();
36 void Output(TDiagBase* group, LPCTSTR str) override;
37 auto IdleAction(long) -> bool override;
38
39protected:
40
41 void SetupWindow() override;
42 void CleanupWindow() override;
43
44private:
45
46 static TTraceWindow* Instance;
47 TDiagBaseHook* OldHook;
48 TPaneSplitter& Panels;
49 TEdit& TraceMessages;
50 class TGroupList;
51 TGroupList& TraceGroups;
52 TListBox& TraceModules;
53 bool TraceDirty;
54 bool Active;
55 tstring TracePath;
56 tstring TraceText;
57
59 ~TTraceWindow() override;
60
61 void CmSave();
62 void CmTop();
63 void CeTop(TCommandEnabler &);
64 void CmEditClear();
65 void CmEditSelectAll();
66 void CmSetLevel();
67 void CeSetLevel(TCommandEnabler &);
68 void CmNextPane();
69 void CmPreviousPane();
70
71 void LbnSelChangeModule();
72 void EvActivate(uint active, bool minimized, HWND hWndOther);
73
74 void SaveWindowState();
75 void RestoreWindowState();
76 void AddModules(TModule* module);
77 void UpdateTraceText();
78 auto FormatGroup(TDiagBase* group) -> tstring;
79 auto FormatLink(TModule* group) -> tstring;
80
81 friend struct TTraceWindowHook;
82
84};
85
86#include <owl/posclass.h>
87
88} // OWL namespace
89
90#endif // __OWL_TRACEWND_H
91
Base class for an extensible interface for auto enabling/disabling of commands (menu items,...
Definition window.h:209
A TEdit is an interface object that represents an edit control interface element.
Definition edit.h:34
Derived from TWindow, TFrameWindow controls such window-specific behavior as keyboard navigation and ...
Definition framewin.h:96
An interface object that represents a corresponding list box element.
Definition listbox.h:43
ObjectWindows dynamic-link libraries (DLLs) construct an instance of TModule, which acts as an object...
Definition module.h:75
TPaneSplitter is a class that acts as a container for child windows (called panes) and splitters (pan...
Definition panespli.h:52
static void DestroyInstance()
Definition tracewnd.cpp:150
static auto GetInstance(bool shouldCreateIfNeccessary=false) -> TTraceWindow *
Definition tracewnd.cpp:143
void Output(TDiagBase *group, LPCTSTR str) override
Definition tracewnd.cpp:156
auto IdleAction(long) -> bool override
Definition tracewnd.cpp:170
void CleanupWindow() override
Definition tracewnd.cpp:236
void SetupWindow() override
Definition tracewnd.cpp:178
friend struct TTraceWindowHook
Definition tracewnd.h:81
#define DECLARE_RESPONSE_TABLE(cls)
Definition eventhan.h:436
Definition of class TFrameWindow.
Object Windows Library (OWLNext Core)
Definition animctrl.h:22
std::string tstring
Definition defs.h:79
General definitions used by all ObjectWindows programs.
#define _OWLCLASS
Definition defs.h:338