Some string cleanup

This commit is contained in:
2025-08-10 23:14:32 -04:00
parent 47d9c7eaa0
commit 143f1f7d2d
4 changed files with 19 additions and 25 deletions

View File

@ -1502,11 +1502,11 @@ void FltkOptionMenuResource::setItem (int index, bool selected)
((Fl_Choice *)widget)->value(menu+index); ((Fl_Choice *)widget)->value(menu+index);
} }
void FltkOptionMenuResource::pushGroup (const char *name, bool enabled) void FltkOptionMenuResource::pushGroup (const std::string &name, bool enabled)
{ {
Fl_Menu_Item *item = newItem(); Fl_Menu_Item *item = newItem();
item->text = dStrdup(name); item->text = dStrdup( name.c_str() );
if (enabled == false) if (enabled == false)
item->flags = FL_MENU_INACTIVE; item->flags = FL_MENU_INACTIVE;
@ -1628,11 +1628,11 @@ void FltkListResource::widgetCallback (Fl_Widget *widget, void *data)
} }
} }
void *FltkListResource::newItem (const char *str, bool enabled, bool selected) void *FltkListResource::newItem (const std::string &str, bool enabled, bool selected)
{ {
Fl_Browser *b = (Fl_Browser *) widget; Fl_Browser *b = (Fl_Browser *) widget;
int index = b->size() + 1; int index = b->size() + 1;
char *label = (char *)malloc(strlen(str) + 1 + currDepth + 4), char *label = (char *)malloc(str.size() + 1 + currDepth + 4),
*s = label; *s = label;
memset(s, '\a', currDepth); memset(s, '\a', currDepth);
@ -1646,7 +1646,7 @@ void *FltkListResource::newItem (const char *str, bool enabled, bool selected)
*s++ = '@'; *s++ = '@';
*s++ = '.'; *s++ = '.';
strcpy(s, str); strcpy(s, str.c_str());
b->add(label); b->add(label);
free(label); free(label);
@ -1689,18 +1689,18 @@ void FltkListResource::setItem (int index, bool selected)
b->select(index + 1, selected); b->select(index + 1, selected);
} }
void FltkListResource::pushGroup (const char *name, bool enabled) void FltkListResource::pushGroup (const std::string &name_, bool enabled)
{ {
bool en = false; bool en = false;
bool selected = false; bool selected = false;
auto name= name_;
// Fl_Browser_::incr_height() for item height won't do the right thing if // Fl_Browser_::incr_height() for item height won't do the right thing if
// the first item doesn't have anything to it. // the first item doesn't have anything to it.
if (!name || !*name) if( name.empty() ) name= " ";
name = " ";
// TODO: Proper disabling of item groups // TODO: Proper disabling of item groups
newItem(name, en, selected); newItem(name.c_str(), en, selected);
if (currDepth < 3) if (currDepth < 3)
currDepth++; currDepth++;

View File

@ -456,7 +456,7 @@ protected:
virtual bool setSelectedItems() { return false; } virtual bool setSelectedItems() { return false; }
virtual void addItem (const char *str, bool enabled, bool selected) = 0; virtual void addItem (const char *str, bool enabled, bool selected) = 0;
virtual void setItem (int index, bool selected) = 0; virtual void setItem (int index, bool selected) = 0;
virtual void pushGroup (const char *name, bool enabled) = 0; virtual void pushGroup( const std::string &name, bool enabled ) = 0;
virtual void popGroup () = 0; virtual void popGroup () = 0;
public: public:
FltkSelectionResource (FltkPlatform *platform) : FltkSelectionResource (FltkPlatform *platform) :
@ -486,7 +486,7 @@ public:
void addItem (const char *str, bool enabled, bool selected); void addItem (const char *str, bool enabled, bool selected);
void setItem (int index, bool selected); void setItem (int index, bool selected);
void pushGroup (const char *name, bool enabled); void pushGroup( const std::string &name, bool enabled ) override;
void popGroup (); void popGroup ();
void sizeRequest (core::Requisition *requisition); void sizeRequest (core::Requisition *requisition);
@ -503,7 +503,7 @@ protected:
int getMaxItemWidth (); int getMaxItemWidth ();
private: private:
static void widgetCallback (Fl_Widget *widget, void *data); static void widgetCallback (Fl_Widget *widget, void *data);
void *newItem (const char *str, bool enabled, bool selected); void *newItem (const std::string &str, bool enabled, bool selected);
int currDepth; int currDepth;
int colWidths[4]; int colWidths[4];
int showRows; int showRows;
@ -516,7 +516,7 @@ public:
void addItem (const char *str, bool enabled, bool selected); void addItem (const char *str, bool enabled, bool selected);
void setItem (int index, bool selected); void setItem (int index, bool selected);
void pushGroup (const char *name, bool enabled); void pushGroup( const std::string &name, bool enabled ) override;
void popGroup (); void popGroup ();
void sizeRequest (core::Requisition *requisition); void sizeRequest (core::Requisition *requisition);

View File

@ -468,7 +468,7 @@ class SelectionResource: public Resource
public: public:
virtual void addItem (const char *str, bool enabled, bool selected) = 0; virtual void addItem (const char *str, bool enabled, bool selected) = 0;
virtual void setItem (int index, bool selected) = 0; virtual void setItem (int index, bool selected) = 0;
virtual void pushGroup (const char *name, bool enabled) = 0; virtual void pushGroup( const std::string &name, bool enabled ) = 0;
virtual void popGroup () = 0; virtual void popGroup () = 0;
virtual int getNumberOfItems () = 0; virtual int getNumberOfItems () = 0;

View File

@ -168,7 +168,7 @@ public:
class DilloHtmlOptbase class DilloHtmlOptbase
{ {
public: public:
virtual ~DilloHtmlOptbase () {}; virtual ~DilloHtmlOptbase ()= default;
virtual bool isSelected() {return false;} virtual bool isSelected() {return false;}
virtual bool select() {return false;} virtual bool select() {return false;}
virtual const char *getValue() {return NULL;} virtual const char *getValue() {return NULL;}
@ -179,11 +179,10 @@ public:
class DilloHtmlOptgroup : public DilloHtmlOptbase { class DilloHtmlOptgroup : public DilloHtmlOptbase {
private: private:
char *label; std::string label;
bool enabled; bool enabled;
public: public:
DilloHtmlOptgroup (char *label, bool enabled); DilloHtmlOptgroup (const std::string &label, bool enabled);
virtual ~DilloHtmlOptgroup ();
void addSelf (SelectionResource *res) void addSelf (SelectionResource *res)
{res->pushGroup(label, enabled);} {res->pushGroup(label, enabled);}
}; };
@ -813,7 +812,7 @@ void Html_tag_open_optgroup(DilloHtml *html, const char *tag, int tagsize)
label = ""; label = "";
} }
auto opt= std::make_unique< DilloHtmlOptgroup >( dStrdup( label.value().c_str() ), enabled ); auto opt= std::make_unique< DilloHtmlOptgroup >( label.value(), enabled );
input->select->addOpt( std::move( opt ) ); input->select->addOpt( std::move( opt ) );
} }
@ -1897,17 +1896,12 @@ void DilloHtmlSelect::appendValuesTo (std::vector< std::string > &values, Select
} }
} }
DilloHtmlOptgroup::DilloHtmlOptgroup (char *label, bool enabled) DilloHtmlOptgroup::DilloHtmlOptgroup (const std::string &label, bool enabled)
{ {
this->label = label; this->label = label;
this->enabled = enabled; this->enabled = enabled;
} }
DilloHtmlOptgroup::~DilloHtmlOptgroup ()
{
dFree(label);
}
/* /*
* DilloHtmlOption * DilloHtmlOption
*/ */