Files
TeslaRel410/BORLAND/BC45/INCLUDE/OWL/OLEVIEW.H
T
CydandClaude Fable 5 63312e07f9 source410: literal 4.10 source reconstruction + BC++ 4.52 fleet toolchain archived
- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
  is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
  Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
  (extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
  BT game source (never mixed into CODE/). Round 1-3 state:
  * 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
    (BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
    since 1996.
  * BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
    its binary-recorded line 400 exactly.
  * BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
    (Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
    TeamScore=12 flagged [T4]).
  * MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
    (VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
    the period compiler is the drift detector).
  * Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
    (per-TU verification sweep under authentic OPT.MAK flags).
  * README: corrected roadmap - MECH.HPP is the capstone grown with the mech
    TU reconstructions; BTREG.CPP green = the header-family milestone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 07:33:26 -05:00

125 lines
3.6 KiB
C++

//----------------------------------------------------------------------------
// ObjectWindows
// (C) Copyright 1994 by Borland International, All Rights Reserved
//
//----------------------------------------------------------------------------
#if !defined(OWL_OLEVIEW_H)
#define OWL_OLEVIEW_H
#if !defined(OWL_OLEWINDO_H)
# include <owl/olewindo.h>
#endif
#if !defined(OWL_DOCVIEW_H)
# include <owl/docview.h>
#endif
//--------------------- Additional notification messages ---------------------
//
const int vnInvalidate = 9; // a rect in view needs repaint
const int vnLinkView = 10; // find view with matched TOcLinkView
const int vnLinkMoniker = 11; // find view with matched moniker
NOTIFY_SIG(vnInvalidate, TRect&)
NOTIFY_SIG(vnLinkView, TOcLinkView&)
NOTIFY_SIG(vnLinkMoniker, TString&)
#define EV_VN_INVALIDATE VN_DEFINE(vnInvalidate, VnInvalidate, long)
#define EV_VN_LINKVIEW VN_DEFINE(vnLinkView, VnLinkView, long)
#define EV_VN_LINKMONIKER VN_DEFINE(vnLinkMoniker, VnLinkMoniker, long)
//
// class TOleView
// ----- --------
//
// The ole 2 window view class. Used as a view in doc/view model
//
class _USERCLASS TOleView : public TOleWindow, public TView {
public:
TOleView(TDocument& doc, TWindow* parent = 0);
~TOleView();
static const char far* StaticName() {return "Ole View";}
// Inherited virtuals from TView
//
const char far* GetViewName() {return StaticName();}
TWindow* GetWindow() {return (TWindow*)this;}
bool SetDocTitle(const char far* docname, int index)
{return TWindow::SetDocTitle(docname, index);}
bool OleShutDown();
protected:
bool CanClose();
TOcView* CreateOcView(TRegLink* link, bool isEmbedded, IUnknown* outer);
void CleanupWindow();
bool OtherViewExists();
// View notifications
//
bool VnInvalidate(TRect& rect);
bool VnDocOpened(int omode);
bool VnDocClosed(int omode);
TMenuDescr* GetViewMenu();
bool EvOcViewPartInvalid(TOcPartChangeInfo& changeInfo);
// uint32 EvOcViewDiscardUndo(void far* undo);
// Container specific messages
//
// bool EvOcAppInsMenus(TOcMenuDescr far&);
// Server specific messages
//
bool EvOcViewClose();
bool EvOcViewSavePart(TOcSaveLoad far& ocSave);
bool EvOcViewLoadPart(TOcSaveLoad far& ocLoad);
bool EvOcViewOpenDoc(const char far* path);
bool EvOcViewInsMenus(TOcMenuDescr far& sharedMenu);
bool EvOcViewAttachWindow(bool attach);
bool EvOcViewSetLink(TOcLinkView& view);
bool EvOcViewBreakLink(TOcLinkView& view);
bool EvOcViewGetItemName(TOcItemName& item);
private:
bool Destroying;
// event handlers
//
bool VnIsWindow(HWND hWnd);
DECLARE_RESPONSE_TABLE(TOleView);
DECLARE_STREAMABLE(_OWLCLASS, TOleView,1);
};
//===================== TOleLinkView =======================================
class _DOCVIEWCLASS TOleLinkView : public TView {
public:
TOleLinkView(TDocument& doc, TOcLinkView& view);
~TOleLinkView();
virtual bool VnLinkView(TOcLinkView& view);
virtual bool VnLinkMoniker(TString& moniker);
virtual bool UpdateLinks();
TString& GetMoniker();
static const char far* StaticName()
{
return "Link View";
}
const char far* GetViewName()
{
return StaticName();
}
protected:
TOcLinkView& OcLinkView; // TOcLinkView partner for this view
DECLARE_RESPONSE_TABLE(TOleLinkView);
};
#endif // OWL_OLEVIEW_H