OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
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