Poor man's RTTI is mostly gone.
Some checks failed
CI / ubuntu-latest-html-tests (push) Has been cancelled
CI / ubuntu-latest-no-tls (push) Has been cancelled
CI / ubuntu-latest-mbedtls2 (push) Has been cancelled
CI / ubuntu-latest-openssl-3 (push) Has been cancelled
CI / ubuntu-latest-with-old-std (push) Has been cancelled
CI / ubuntu-20-04-openssl-1-1 (push) Has been cancelled
CI / alpine-mbedtls-3_6_0 (push) Has been cancelled
CI / macOS-13-openssl-1-1 (push) Has been cancelled
CI / macOS-13-openssl-3 (push) Has been cancelled
CI / freebsd-14-openssl-3 (push) Has been cancelled
CI / windows-mbedtls (push) Has been cancelled

I'm keeping the type-index to name mapping, for now.
This commit is contained in:
2025-08-09 06:31:08 -04:00
parent f69784c518
commit 8549ca489f
26 changed files with 27 additions and 216 deletions

View File

@ -27,13 +27,11 @@ using namespace lout;
namespace dw {
std::intptr_t AlignedTableCell::CLASS_ID = -1;
AlignedTableCell::AlignedTableCell (AlignedTableCell *ref, bool limitTextWidth):
AlignedTextblock (limitTextWidth)
{
DBG_OBJ_CREATE ("dw::AlignedTableCell");
registerName ("dw::AlignedTableCell", typeid(*this), &CLASS_ID);
registerName ("dw::AlignedTableCell", typeid(*this));
/** \bug ignoreLine1OffsetSometimes does not work? */
//ignoreLine1OffsetSometimes = true;

View File

@ -33,8 +33,6 @@ protected:
void setMaxValue (int maxValue, int value);
public:
static std::intptr_t CLASS_ID;
AlignedTableCell(AlignedTableCell *ref, bool limitTextWidth);
~AlignedTableCell();

View File

@ -58,13 +58,11 @@ void AlignedTextblock::List::unref(int pos)
delete this;
}
std::intptr_t AlignedTextblock::CLASS_ID = -1;
AlignedTextblock::AlignedTextblock (bool limitTextWidth):
Textblock (limitTextWidth)
{
DBG_OBJ_CREATE ("dw::AlignedTextblock");
registerName ("dw::AlignedTextblock", typeid(*this), &CLASS_ID);
registerName ("dw::AlignedTextblock", typeid(*this));
}
void AlignedTextblock::setRefTextblock (AlignedTextblock *ref)

View File

@ -51,8 +51,6 @@ protected:
void updateValue ();
public:
static std::intptr_t CLASS_ID;
~AlignedTextblock();
};

View File

@ -131,12 +131,10 @@ int ImageMapsList::link (object::Object *key, int x, int y)
// ----------------------------------------------------------------------
std::intptr_t Image::CLASS_ID = -1;
Image::Image(const char *altText)
{
DBG_OBJ_CREATE ("dw::Image");
registerName ("dw::Image", typeid(*this), &CLASS_ID);
registerName ("dw::Image", typeid(*this));
this->altText = altText ? dStrdup (altText) : NULL;
altTextWidth = -1; // not yet calculated
buffer = NULL;

View File

@ -145,8 +145,6 @@ protected:
//core::Iterator *iterator (Content::Type mask, bool atEnd);
public:
static std::intptr_t CLASS_ID;
Image(const char *altText);
~Image();

View File

@ -25,13 +25,11 @@
namespace dw {
std::intptr_t ListItem::CLASS_ID = -1;
ListItem::ListItem (ListItem *ref, bool limitTextWidth):
AlignedTextblock (limitTextWidth)
{
DBG_OBJ_CREATE ("dw::ListItem");
registerName ("dw::ListItem", typeid(*this), &CLASS_ID);
registerName ("dw::ListItem", typeid(*this));
setRefTextblock (ref);
}

View File

@ -13,8 +13,6 @@ protected:
void setMaxValue (int maxValue, int value);
public:
static std::intptr_t CLASS_ID;
ListItem(ListItem *ref, bool limitTextWidth);
~ListItem();

View File

@ -38,12 +38,10 @@ const char *OOFAwareWidget::OOFM_NAME[NUM_OOFM] = {
"FLOATS", "ABSOLUTE", "RELATIVE", "FIXED"
};
std::intptr_t OOFAwareWidget::CLASS_ID = -1;
OOFAwareWidget::OOFAwareWidget ()
{
DBG_OBJ_CREATE ("dw::oof::OOFAwareWidget");
registerName ("dw::oof::OOFAwareWidget", typeid(*this), &CLASS_ID);
registerName ("dw::oof::OOFAwareWidget", typeid(*this));
for (int i = 0; i < NUM_OOFM; i++) {
oofContainer[i] = NULL;

View File

@ -195,8 +195,6 @@ public:
SL_START, SL_BACKGROUND, SL_SC_BOTTOM, SL_IN_FLOW, SL_OOF_REF,
SL_OOF_CONT, SL_SC_TOP, SL_END };
static std::intptr_t CLASS_ID;
OOFAwareWidget ();
~OOFAwareWidget ();

View File

@ -23,12 +23,10 @@
namespace dw {
std::intptr_t RegardingBorder::CLASS_ID = -1;
RegardingBorder::RegardingBorder ()
{
DBG_OBJ_CREATE ("dw::RegardingBorder");
registerName ("dw::RegardingBorder", typeid(*this), &CLASS_ID);
registerName ("dw::RegardingBorder", typeid(*this));
}
RegardingBorder::~RegardingBorder ()

View File

@ -13,8 +13,6 @@ namespace dw {
class RegardingBorder: public oof::OOFAwareWidget
{
public:
static std::intptr_t CLASS_ID;
RegardingBorder ();
~RegardingBorder ();
};

View File

@ -26,12 +26,10 @@
namespace dw {
std::intptr_t Ruler::CLASS_ID = -1;
Ruler::Ruler ()
{
DBG_OBJ_CREATE ("dw::Ruler");
registerName ("dw::Ruler", typeid(*this), &CLASS_ID);
registerName ("dw::Ruler", typeid(*this));
}
Ruler::~Ruler ()

View File

@ -30,8 +30,6 @@ protected:
core::GettingWidgetAtPointContext *context);
public:
static std::intptr_t CLASS_ID;
Ruler ();
~Ruler ();

View File

@ -27,13 +27,11 @@ using namespace lout;
namespace dw {
std::intptr_t SimpleTableCell::CLASS_ID = -1;
SimpleTableCell::SimpleTableCell (bool limitTextWidth):
Textblock (limitTextWidth)
{
DBG_OBJ_CREATE ("dw::SimpleTableCell");
registerName ("dw::SimpleTableCell", typeid(*this), &CLASS_ID);
registerName ("dw::SimpleTableCell", typeid(*this));
}
SimpleTableCell::~SimpleTableCell()

View File

@ -24,8 +24,6 @@ protected:
bool adjustExtraSpaceWhenCorrectingRequisitionByOOF ();
public:
static std::intptr_t CLASS_ID;
SimpleTableCell (bool limitTextWidth);
~SimpleTableCell ();

View File

@ -29,12 +29,11 @@ using namespace lout;
namespace dw {
bool Table::adjustTableMinWidth = true;
std::intptr_t Table::CLASS_ID = -1;
Table::Table(bool limitTextWidth)
{
DBG_OBJ_CREATE ("dw::Table");
registerName ("dw::Table", typeid(*this), &CLASS_ID);
registerName ("dw::Table", typeid(*this));
setButtonSensitive(false);
this->limitTextWidth = limitTextWidth;

View File

@ -492,8 +492,6 @@ protected:
void removeChild (Widget *child);
public:
static std::intptr_t CLASS_ID;
inline static void setAdjustTableMinWidth (bool adjustTableMinWidth)
{ Table::adjustTableMinWidth = adjustTableMinWidth; }

View File

@ -43,8 +43,6 @@ using namespace lout::unicode;
namespace dw {
std::intptr_t Textblock::CLASS_ID = -1;
Textblock::WordImgRenderer::WordImgRenderer (Textblock *textblock,
int wordNo)
{
@ -206,7 +204,7 @@ void Textblock::setStretchabilityFactor (int stretchabilityFactor)
Textblock::Textblock (bool limitTextWidth, bool treatAsInline)
{
DBG_OBJ_CREATE ("dw::Textblock");
registerName ("dw::Textblock", typeid(*this), &CLASS_ID);
registerName ("dw::Textblock", typeid(*this));
setButtonSensitive(true);
hasListitemValue = false;

View File

@ -864,8 +864,6 @@ protected:
int getGeneratorRest (int oofmIndex);
public:
static std::intptr_t CLASS_ID;
static void setPenaltyHyphen (int penaltyHyphen);
static void setPenaltyHyphen2 (int penaltyHyphen2);
static void setPenaltyEmDashLeft (int penaltyLeftEmDash);

View File

@ -32,12 +32,10 @@ namespace ui {
using namespace lout;
using namespace lout::object;
std::intptr_t Embed::CLASS_ID = -1;
Embed::Embed(Resource *resource)
{
DBG_OBJ_CREATE ("dw::core::ui::Embed");
registerName ("dw::core::ui::Embed", typeid(*this), &CLASS_ID);
registerName ("dw::core::ui::Embed", typeid(*this));
this->resource = resource;
resource->setEmbed (this);
DBG_OBJ_ASSOC_CHILD (resource);

View File

@ -251,8 +251,6 @@ protected:
bool buttonPressImpl (core::EventButton *event);
public:
static std::intptr_t CLASS_ID;
Embed(Resource *resource);
~Embed();

View File

@ -73,12 +73,11 @@ void Widget::WidgetImgRenderer::draw (int x, int y, int width, int height)
// ----------------------------------------------------------------------
bool Widget::adjustMinWidth = true;
std::intptr_t Widget::CLASS_ID = -1;
Widget::Widget ()
{
DBG_OBJ_CREATE ("dw::core::Widget");
registerName ("dw::core::Widget", typeid(*this), &CLASS_ID);
registerName ("dw::core::Widget", typeid(*this));
DBG_OBJ_ASSOC_CHILD (&requisitionParams);
DBG_OBJ_ASSOC_CHILD (&extremesParams);

View File

@ -458,8 +458,6 @@ private:
public:
static std::intptr_t CLASS_ID;
inline static void setAdjustMinWidth (bool adjustMinWidth)
{ Widget::adjustMinWidth = adjustMinWidth; }