Fixed memory leak in FString move assignment operator
This commit is contained in:
parent
6c6b70ed9e
commit
59830cbd05
|
@ -1,6 +1,7 @@
|
|||
2020-05-24 Markus Gans <guru.mail@muenster.de>
|
||||
* New class FStringStream implements input and output operations
|
||||
on FString based streams
|
||||
* Fixed memory leak in FString move assignment operator
|
||||
|
||||
2020-05-21 Markus Gans <guru.mail@muenster.de>
|
||||
* Fixed the event queue in FApplication
|
||||
|
|
|
@ -69,8 +69,8 @@ int main (int argc, char* argv[])
|
|||
finalcut::FApplication app(argc, argv);
|
||||
finalcut::FDialog dialog(&app);
|
||||
dialog.setText ("A dialog");
|
||||
const finalcut::FPoint position(25, 5);
|
||||
const finalcut::FSize size(30, 10);
|
||||
const finalcut::FPoint position{25, 5};
|
||||
const finalcut::FSize size{30, 10};
|
||||
dialog.setGeometry (position, size);
|
||||
finalcut::FWidget::setMainWidget(&dialog);
|
||||
dialog.show();
|
||||
|
@ -126,8 +126,8 @@ dialog.setText ("A dialog");
|
|||
The title bar of the dialog box gets the text "A dialog".
|
||||
|
||||
```cpp
|
||||
finalcut::FPoint position(25, 5);
|
||||
finalcut::FSize size(30, 10);
|
||||
finalcut::FPoint position{25, 5};
|
||||
finalcut::FSize size{30, 10};
|
||||
dialog.setGeometry (position, size);
|
||||
```
|
||||
The dialog window gets a width of 30 and a height of 10 characters.
|
||||
|
@ -206,11 +206,11 @@ int main (int argc, char* argv[])
|
|||
// The object dialog is managed by app
|
||||
FDialog* dialog = new FDialog(&app);
|
||||
dialog->setText ("Window Title");
|
||||
dialog->setGeometry (FPoint(25, 5), FSize(40, 8));
|
||||
dialog->setGeometry (FPoint{25, 5}, FSize{40, 8});
|
||||
|
||||
// The object input is managed by dialog
|
||||
FLineEdit* input = new FLineEdit("predefined text", dialog);
|
||||
input->setGeometry(FPoint(8, 2), FSize(29, 1));
|
||||
input->setGeometry(FPoint{8, 2}, FSize{29, 1});
|
||||
input->setLabelText (L"&Input");
|
||||
|
||||
// The object label is managed by dialog
|
||||
|
@ -218,7 +218,7 @@ int main (int argc, char* argv[])
|
|||
"adipiscing elit, sed do eiusmod tempor "
|
||||
"incididunt ut labore et dolore magna aliqua."
|
||||
, dialog );
|
||||
label->setGeometry (FPoint(2, 4), FSize(36, 1));
|
||||
label->setGeometry (FPoint{2, 4}, FSize{36, 1});
|
||||
FWidget::setMainWidget(dialog);
|
||||
dialog->show();
|
||||
return app.exec();
|
||||
|
@ -322,13 +322,13 @@ class dialogWidget : public FDialog
|
|||
{
|
||||
public:
|
||||
explicit dialogWidget (FWidget* parent = nullptr)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
setText ("Dialog");
|
||||
setGeometry (FPoint(25, 5), FSize(23, 4));
|
||||
label.setGeometry (FPoint(1, 1), FSize(10, 1));
|
||||
setGeometry (FPoint{25, 5}, FSize{23, 4});
|
||||
label.setGeometry (FPoint{1, 1}, FSize{10, 1});
|
||||
label.setAlignment (fc::alignRight);
|
||||
value.setGeometry (FPoint(11, 1), FSize(10, 1));
|
||||
value.setGeometry (FPoint{11, 1}, FSize{10, 1});
|
||||
id = addTimer(100);
|
||||
}
|
||||
|
||||
|
@ -500,14 +500,14 @@ int main (int argc, char* argv[])
|
|||
FApplication app(argc, argv);
|
||||
FDialog dialog(&app);
|
||||
dialog.setText ("A dialog with callback function");
|
||||
dialog.setGeometry (FRect(25, 5, 45, 9));
|
||||
dialog.setGeometry (FRect{25, 5, 45, 9});
|
||||
FLabel label (&dialog);
|
||||
label = "The button has never been pressed before";
|
||||
label.setGeometry (FPoint(2, 2), FSize(41, 1));
|
||||
label.setGeometry (FPoint{2, 2}, FSize{41, 1});
|
||||
FButton button (&dialog);
|
||||
// Character follows '&' will be used as the accelerator key
|
||||
button = "&Click me";
|
||||
button.setGeometry (FPoint(15, 5), FSize(14, 1));
|
||||
button.setGeometry (FPoint{15, 5}, FSize{14, 1});
|
||||
|
||||
// Connect the button signal "clicked" with the callback function
|
||||
button.addCallback
|
||||
|
@ -553,9 +553,9 @@ int main (int argc, char* argv[])
|
|||
FApplication app(argc, argv);
|
||||
FDialog dialog(&app);
|
||||
dialog.setText ("Lambda expression as callback");
|
||||
dialog.setGeometry (FRect(25, 5, 45, 9));
|
||||
dialog.setGeometry (FRect{25, 5, 45, 9});
|
||||
FButton button ("&bottom", &dialog);
|
||||
button.setGeometry (FPoint(15, 5), FSize(14, 1));
|
||||
button.setGeometry (FPoint{15, 5}, FSize{14, 1});
|
||||
|
||||
// Connect the button signal "clicked" with the lambda expression
|
||||
button.addCallback
|
||||
|
@ -567,12 +567,12 @@ int main (int argc, char* argv[])
|
|||
|
||||
if ( button.getY() != 2 )
|
||||
{
|
||||
button.setPos (FPoint(15, 2));
|
||||
button.setPos (FPoint{15, 2});
|
||||
button.setText("&top");
|
||||
}
|
||||
else
|
||||
{
|
||||
button.setPos (FPoint(15, 5));
|
||||
button.setPos (FPoint{15, 5});
|
||||
button.setText("&bottom");
|
||||
}
|
||||
|
||||
|
@ -619,8 +619,8 @@ class dialogWidget : public FDialog
|
|||
: FDialog(parent)
|
||||
{
|
||||
setText ("Callback method");
|
||||
setGeometry (FPoint(25, 5), FSize(25, 7));
|
||||
button.setGeometry (FPoint(7, 3), FSize(10, 1));
|
||||
setGeometry (FPoint{25, 5}, FSize{25, 7});
|
||||
button.setGeometry (FPoint{7, 3}, FSize{10, 1});
|
||||
|
||||
// Connect the button signal "clicked" with the callback method
|
||||
button.addCallback
|
||||
|
@ -678,16 +678,16 @@ class dialogWidget : public FDialog
|
|||
{
|
||||
public:
|
||||
explicit dialogWidget (FWidget* parent = nullptr)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
setGeometry (FPoint(25, 5), FSize(22, 7));
|
||||
setGeometry (FPoint{25, 5}, FSize{22, 7});
|
||||
setText ("Emit signal");
|
||||
const FSize size(5, 1);
|
||||
label.setGeometry (FPoint(8, 1), size);
|
||||
const FSize size{5, 1};
|
||||
label.setGeometry (FPoint{8, 1}, size);
|
||||
label.setAlignment (fc::alignRight);
|
||||
label.setForegroundColor (fc::Black);
|
||||
plus.setGeometry (FPoint(3, 3), size);
|
||||
minus.setGeometry (FPoint(13, 3), size);
|
||||
plus.setGeometry (FPoint{3, 3}, size);
|
||||
minus.setGeometry (FPoint{13, 3}, size);
|
||||
plus.setNoUnderline();
|
||||
minus.setNoUnderline();
|
||||
|
||||
|
@ -987,15 +987,15 @@ class dialogWidget : public FDialog
|
|||
{
|
||||
public:
|
||||
explicit dialogWidget (FWidget* parent = nullptr)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
setText ("Dialog");
|
||||
setResizeable();
|
||||
button.setGeometry (FPoint(1, 1), FSize(12, 1), false);
|
||||
input.setGeometry (FPoint(2, 3), FSize(12, 1), false);
|
||||
button.setGeometry (FPoint{1, 1}, FSize{12, 1}, false);
|
||||
input.setGeometry (FPoint{2, 3}, FSize{12, 1}, false);
|
||||
// Set dialog geometry and calling adjustSize()
|
||||
setGeometry (FPoint(25, 5), FSize(40, 12));
|
||||
setMinimumSize (FSize(25, 9));
|
||||
setGeometry (FPoint{25, 5}), FSize{40, 12});
|
||||
setMinimumSize (FSize{25, 9});
|
||||
}
|
||||
|
||||
private:
|
||||
|
@ -1011,14 +1011,14 @@ class dialogWidget : public FDialog
|
|||
auto y = int((getDesktopHeight() - getHeight()) / 2);
|
||||
checkMinValue(x);
|
||||
checkMinValue(y);
|
||||
setPos (FPoint(x, y), false);
|
||||
setPos (FPoint{x, y}, false);
|
||||
}
|
||||
|
||||
void adjustWidgets()
|
||||
{
|
||||
const auto bx = int(getWidth() - button.getWidth() - 3);
|
||||
const auto by = int(getHeight() - 4);
|
||||
button.setPos (FPoint(bx, by), false);
|
||||
button.setPos (FPoint{bx, by}, false);
|
||||
input.setWidth (getWidth() - 4);
|
||||
const auto ly = int(getHeight() / 2) - 1;
|
||||
input.setY (ly, false);
|
||||
|
@ -1046,10 +1046,10 @@ class dialogWidget : public FDialog
|
|||
// Calling super class method draw()
|
||||
FDialog::draw();
|
||||
|
||||
print() << FPoint (3, 3)
|
||||
<< FColorPair (fc::Black, fc::White)
|
||||
print() << FPoint{3, 3}
|
||||
<< FColorPair{fc::Black, fc::White}
|
||||
<< "Text on "
|
||||
<< FColorPair (fc::Blue, fc::Yellow)
|
||||
<< FColorPair{fc::Blue, fc::Yellow}
|
||||
<< "top";
|
||||
}
|
||||
|
||||
|
@ -1129,12 +1129,12 @@ class dialogWidget : public FDialog
|
|||
{
|
||||
public:
|
||||
explicit dialogWidget (FWidget* parent = nullptr)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
setText ("Dialog");
|
||||
setGeometry (FPoint(28, 2), FSize(24, 21));
|
||||
scrollview.setGeometry(FPoint(1, 1), FSize(22, 11));
|
||||
scrollview.setScrollSize(FSize(60, 27));
|
||||
setGeometry (FPoint{28, 2}, FSize{24, 21});
|
||||
scrollview.setGeometry(FPoint{1, 1}, FSize{22, 11});
|
||||
scrollview.setScrollSize(FSize{60, 27});
|
||||
const auto& wc = getFWidgetColors();
|
||||
setColor (wc.label_inactive_fg, wc.dialog_bg);
|
||||
scrollview.clearArea();
|
||||
|
@ -1144,25 +1144,25 @@ class dialogWidget : public FDialog
|
|||
|
||||
static std::vector<direction> d
|
||||
{
|
||||
{"NW", FPoint(3, 13), FPoint(1, 1), black},
|
||||
{"N", FPoint(10, 13), FPoint(21, 1), red},
|
||||
{"NE", FPoint(17, 13), FPoint(41, 1), black},
|
||||
{"W", FPoint(3, 15), FPoint(1, 10), black},
|
||||
{"*", FPoint(10, 15), FPoint(21, 10), black},
|
||||
{"E", FPoint(17, 15), FPoint(41, 10), black},
|
||||
{"SW", FPoint(3, 17), FPoint(1, 19), black},
|
||||
{"S", FPoint(10, 17), FPoint(21, 19), cyan},
|
||||
{"SE", FPoint(17, 17), FPoint(41, 19), black}
|
||||
{"NW", FPoint{3, 13}, FPoint{1, 1}, black},
|
||||
{"N", FPoint{10, 13}, FPoint{21, 1}, red},
|
||||
{"NE", FPoint{17, 13}, FPoint{41, 1}, black},
|
||||
{"W", FPoint{3, 15}, FPoint{1, 10}, black},
|
||||
{"*", FPoint{10, 15}, FPoint{21, 10}, black},
|
||||
{"E", FPoint{17, 15}, FPoint{41, 10}, black},
|
||||
{"SW", FPoint{3, 17}, FPoint{1, 19}, black},
|
||||
{"S", FPoint{10, 17}, FPoint{21, 19}, cyan},
|
||||
{"SE", FPoint{17, 17}, FPoint{41, 19}, black}
|
||||
};
|
||||
|
||||
for (auto&& b : d)
|
||||
{
|
||||
scrollview.print() << std::get<2>(b) + FPoint(10, 5)
|
||||
scrollview.print() << std::get<2>(b) + FPoint{10, 5}
|
||||
<< std::get<3>(b) << std::get<0>(b);
|
||||
auto edit = new FLineEdit("direction " + std::get<0>(b), &scrollview);
|
||||
edit->setGeometry(std::get<2>(b) + FPoint(1, 1), FSize(17, 1));
|
||||
edit->setGeometry(std::get<2>(b) + FPoint{1, 1}, FSize{17, 1});
|
||||
auto btn = new FButton(std::get<0>(b), this);
|
||||
btn->setGeometry(std::get<1>(b), FSize(4, 1));
|
||||
btn->setGeometry(std::get<1>(b), FSize{4, 1});
|
||||
btn->unsetShadow();
|
||||
btn->addCallback
|
||||
(
|
||||
|
|
|
@ -74,7 +74,7 @@ class SegmentView final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
SegmentView::SegmentView (finalcut::FWidget* parent)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
// Dialog settings
|
||||
// Avoids calling a virtual function from the constructor
|
||||
|
|
|
@ -92,7 +92,7 @@ class Background final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Background::Background (finalcut::FWidget* parent)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
// Dialog settings
|
||||
// Avoids calling a virtual function from the constructor
|
||||
|
|
|
@ -62,7 +62,7 @@ class Button final : public finalcut::FButton
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Button::Button (finalcut::FWidget* parent)
|
||||
: finalcut::FButton(parent)
|
||||
: finalcut::FButton{parent}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -245,7 +245,7 @@ class Calc final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Calc::Calc (FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
// Dialog settings
|
||||
// Avoids calling a virtual function from the constructor
|
||||
|
|
|
@ -73,7 +73,7 @@ class CheckList final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
CheckList::CheckList (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
// Dialog settings
|
||||
// Avoids calling a virtual function from the constructor
|
||||
|
|
|
@ -83,7 +83,7 @@ class EventDialog final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
EventDialog::EventDialog (finalcut::FWidget* parent)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
// Dialog settings
|
||||
// Avoids calling a virtual function from the constructor
|
||||
|
@ -263,7 +263,7 @@ class EventLog final : public finalcut::FDialog, public std::ostringstream
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
EventLog::EventLog (finalcut::FWidget* parent)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
// Dialog settings
|
||||
// Avoids calling a virtual function from the constructor
|
||||
|
|
|
@ -44,7 +44,7 @@ class Keyboard final : public finalcut::FWidget
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Keyboard::Keyboard (finalcut::FWidget* parent)
|
||||
: finalcut::FWidget(parent)
|
||||
: finalcut::FWidget{parent}
|
||||
{
|
||||
setFWidgetColors().term_fg = finalcut::fc::Default;
|
||||
setFWidgetColors().term_bg = finalcut::fc::Default;
|
||||
|
|
|
@ -105,7 +105,7 @@ class Listbox final : public FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Listbox::Listbox (FWidget* parent)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
auto temp = std::make_shared<FString>();
|
||||
temp_str = temp;
|
||||
|
|
|
@ -68,7 +68,7 @@ class Listview final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Listview::Listview (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
// Set FListView geometry
|
||||
listView.setGeometry(FPoint{2, 1}, FSize{33, 14});
|
||||
|
|
|
@ -53,7 +53,7 @@ class Mandelbrot final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Mandelbrot::Mandelbrot (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
FDialog::setText ("Mandelbrot set");
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@ class Menu final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Menu::Menu (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
// Menu bar itms
|
||||
File.setStatusbarMessage ("File management commands");
|
||||
|
|
|
@ -72,7 +72,7 @@ class ColorChooser final : public finalcut::FWidget
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
ColorChooser::ColorChooser (finalcut::FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
FWidget::setSize (FSize{8, 12});
|
||||
setFixedSize (FSize{8, 12});
|
||||
|
@ -226,7 +226,7 @@ class Brushes final : public finalcut::FWidget
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Brushes::Brushes (finalcut::FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
FWidget::setSize (FSize{8, 4});
|
||||
setFixedSize (FSize{8, 4});
|
||||
|
@ -379,7 +379,7 @@ class MouseDraw final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
MouseDraw::MouseDraw (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
FDialog::setText ("Drawing with the mouse");
|
||||
c_chooser.setPos (FPoint{1, 1});
|
||||
|
|
|
@ -80,9 +80,9 @@ class RotoZoomer final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
RotoZoomer::RotoZoomer (finalcut::FWidget* parent, bool b, int l)
|
||||
: finalcut::FDialog(parent)
|
||||
, benchmark(b)
|
||||
, loops(l)
|
||||
: finalcut::FDialog{parent}
|
||||
, benchmark{b}
|
||||
, loops{l}
|
||||
{
|
||||
FDialog::setText ("Rotozoomer effect");
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ class Scrollview final : public finalcut::FScrollView
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Scrollview::Scrollview (finalcut::FWidget* parent)
|
||||
: finalcut::FScrollView(parent)
|
||||
: finalcut::FScrollView{parent}
|
||||
{
|
||||
// Sets the navigation button geometry
|
||||
go_east.setGeometry (FPoint{1, 1}, FSize{5, 1});
|
||||
|
@ -214,7 +214,7 @@ class Scrollviewdemo final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Scrollviewdemo::Scrollviewdemo (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
FDialog::setGeometry (FPoint{16, 3}, FSize{50, 19});
|
||||
FDialog::setText ("Scrolling viewport example");
|
||||
|
|
|
@ -73,7 +73,7 @@ class AttribDlg final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
AttribDlg::AttribDlg (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
FDialog::setText ( "A terminal attributes test ("
|
||||
+ finalcut::FString{finalcut::FTerm::getTermType()}
|
||||
|
@ -243,7 +243,7 @@ class AttribDemo final : public finalcut::FWidget
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
AttribDemo::AttribDemo (finalcut::FWidget* parent)
|
||||
: finalcut::FWidget(parent)
|
||||
: finalcut::FWidget{parent}
|
||||
{
|
||||
if ( finalcut::FTerm::isMonochron() )
|
||||
last_color = 1;
|
||||
|
|
|
@ -46,7 +46,7 @@ class Timer final : public finalcut::FWidget
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Timer::Timer (finalcut::FWidget* parent)
|
||||
: finalcut::FWidget(parent)
|
||||
: finalcut::FWidget{parent}
|
||||
{
|
||||
addTimer (60000); // 1-minute timer
|
||||
const int id = addTimer (50); // 50-millisecond timer
|
||||
|
|
|
@ -71,8 +71,8 @@ class Transparent final : public finalcut::FDialog
|
|||
//----------------------------------------------------------------------
|
||||
Transparent::Transparent ( finalcut::FWidget* parent
|
||||
, Transparent::trans_type tt )
|
||||
: finalcut::FDialog(parent)
|
||||
, type(tt)
|
||||
: finalcut::FDialog{parent}
|
||||
, type{tt}
|
||||
{
|
||||
// Set statusbar text for this window
|
||||
// Avoids calling a virtual function from the constructor
|
||||
|
@ -191,7 +191,7 @@ class MainWindow final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
MainWindow::MainWindow (finalcut::FWidget* parent)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
// The memory allocation for the following three sub windows occurs
|
||||
// with the operator new. The lifetime of the generated widget
|
||||
|
|
|
@ -326,7 +326,7 @@ Treeview::TreeItem Treeview::oceania[] =
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
Treeview::Treeview (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
// Set FListView geometry
|
||||
listView.setGeometry(FPoint{2, 1}, FSize{53, 14});
|
||||
|
|
|
@ -76,7 +76,7 @@ class ProgressDialog final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
ProgressDialog::ProgressDialog (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
// Dialog settings
|
||||
// Avoids calling a virtual function from the constructor
|
||||
|
@ -218,7 +218,7 @@ class TextWindow final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
TextWindow::TextWindow (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
scrollText.ignorePadding();
|
||||
scrollText.setGeometry (FPoint{1, 2}, FSize{getWidth(), getHeight() - 1});
|
||||
|
@ -369,7 +369,7 @@ class MyDialog final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
MyDialog::MyDialog (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ class Watch final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Watch::Watch (FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
// Dialog settings
|
||||
// Avoids calling a virtual function from the constructor
|
||||
|
|
|
@ -66,7 +66,7 @@ class SmallWindow final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
SmallWindow::SmallWindow (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
const auto& wc = getFWidgetColors();
|
||||
const wchar_t arrow_up = fc::BlackUpPointingTriangle;
|
||||
|
@ -240,7 +240,7 @@ class Window final : public finalcut::FDialog
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
Window::Window (finalcut::FWidget* parent)
|
||||
: finalcut::FDialog(parent)
|
||||
: finalcut::FDialog{parent}
|
||||
{
|
||||
// Menu bar item
|
||||
File.setStatusbarMessage ("File management commands");
|
||||
|
|
|
@ -71,7 +71,7 @@ bool FApplication::quit_now {false};
|
|||
FApplication::FApplication ( const int& _argc
|
||||
, char* _argv[]
|
||||
, bool disable_alt_screen )
|
||||
: FWidget(processParameters(_argc, _argv), disable_alt_screen)
|
||||
: FWidget{processParameters(_argc, _argv), disable_alt_screen}
|
||||
, app_argc{_argc}
|
||||
, app_argv{_argv}
|
||||
{
|
||||
|
@ -103,6 +103,8 @@ FApplication::~FApplication() // destructor
|
|||
|
||||
if ( eventInQueue() )
|
||||
event_queue.clear();
|
||||
|
||||
destroyLog();
|
||||
}
|
||||
|
||||
|
||||
|
@ -117,8 +119,8 @@ FApplication* FApplication::getApplicationObject()
|
|||
FApplication::FLogPtr& FApplication::getLog()
|
||||
{
|
||||
// Global logger object
|
||||
static FLogPtr logger(std::make_shared<FLogger>());
|
||||
return logger;
|
||||
static FLogPtr* logger = new FLogPtr();
|
||||
return *logger;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -373,6 +375,7 @@ void FApplication::init (uInt64 key_time, uInt64 dblclick_time)
|
|||
mouse->setDblclickInterval (dblclick_time);
|
||||
|
||||
// Initialize logging
|
||||
setLog (std::make_shared<FLogger>());
|
||||
getLog()->setLineEnding(FLog::CRLF);
|
||||
}
|
||||
|
||||
|
@ -478,6 +481,13 @@ inline FStartOptions& FApplication::getStartOptions()
|
|||
return FStartOptions::getFStartOptions();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline void FApplication::destroyLog()
|
||||
{
|
||||
FLogPtr* logger = &(getLog());
|
||||
delete logger;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
inline void FApplication::findKeyboardWidget()
|
||||
{
|
||||
|
|
|
@ -36,14 +36,14 @@ namespace finalcut
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FButton::FButton(FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FButton::FButton (const FString& txt, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
, text{txt}
|
||||
{
|
||||
init();
|
||||
|
|
|
@ -39,14 +39,14 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FButtonGroup::FButtonGroup(FWidget* parent)
|
||||
: FScrollView(parent)
|
||||
: FScrollView{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FButtonGroup::FButtonGroup (const FString& txt, FWidget* parent)
|
||||
: FScrollView(parent)
|
||||
: FScrollView{parent}
|
||||
, text{txt}
|
||||
{
|
||||
init();
|
||||
|
|
|
@ -33,14 +33,14 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FCheckBox::FCheckBox(FWidget* parent)
|
||||
: FToggleButton(parent)
|
||||
: FToggleButton{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FCheckBox::FCheckBox (const FString& txt, FWidget* parent)
|
||||
: FToggleButton(txt, parent)
|
||||
: FToggleButton{txt, parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* *
|
||||
* This file is part of the Final Cut widget toolkit *
|
||||
* *
|
||||
* Copyright 2015-2019 Markus Gans *
|
||||
* Copyright 2015-2020 Markus Gans *
|
||||
* *
|
||||
* The Final Cut is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Lesser General Public License *
|
||||
|
@ -34,14 +34,14 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FCheckMenuItem::FCheckMenuItem (FWidget* parent)
|
||||
: FMenuItem(parent)
|
||||
: FMenuItem{parent}
|
||||
{
|
||||
init (parent);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FCheckMenuItem::FCheckMenuItem (const FString& txt, FWidget* parent)
|
||||
: FMenuItem(txt, parent)
|
||||
: FMenuItem{txt, parent}
|
||||
{
|
||||
init (parent);
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FDropDownListBox::FDropDownListBox (FWidget* parent)
|
||||
: FWindow(parent)
|
||||
: FWindow{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ bool FDropDownListBox::containsWidget (const FPoint& p)
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FComboBox::FComboBox (FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -42,14 +42,14 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FDialog::FDialog (FWidget* parent)
|
||||
: FWindow(parent)
|
||||
: FWindow{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FDialog::FDialog (const FString& txt, FWidget* parent)
|
||||
: FWindow(parent)
|
||||
: FWindow{parent}
|
||||
, tb_text{txt}
|
||||
{
|
||||
init();
|
||||
|
|
|
@ -33,14 +33,14 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FDialogListMenu::FDialogListMenu(FWidget* parent)
|
||||
: FMenu(parent)
|
||||
: FMenu{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FDialogListMenu::FDialogListMenu (const FString& txt, FWidget* parent)
|
||||
: FMenu(txt, parent)
|
||||
: FMenu{txt, parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ bool FEvent::wasSent() const
|
|||
//----------------------------------------------------------------------
|
||||
|
||||
FKeyEvent::FKeyEvent (fc::events ev_type, FKey key_num) // constructor
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
, k{key_num}
|
||||
{ }
|
||||
|
||||
|
@ -86,7 +86,7 @@ FMouseEvent::FMouseEvent ( fc::events ev_type // constructor
|
|||
, const FPoint& pos
|
||||
, const FPoint& termPos
|
||||
, int button )
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
, p{pos}
|
||||
, tp{termPos}
|
||||
, b{button}
|
||||
|
@ -96,7 +96,7 @@ FMouseEvent::FMouseEvent ( fc::events ev_type // constructor
|
|||
FMouseEvent::FMouseEvent ( fc::events ev_type // constructor
|
||||
, const FPoint& pos
|
||||
, int button )
|
||||
: FMouseEvent(ev_type, pos, FPoint{}, button)
|
||||
: FMouseEvent{ev_type, pos, FPoint{}, button}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -140,7 +140,7 @@ FWheelEvent::FWheelEvent ( fc::events ev_type // constructor
|
|||
, const FPoint& pos
|
||||
, const FPoint& termPos
|
||||
, int wheel )
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
, p{pos}
|
||||
, tp{termPos}
|
||||
, w{wheel}
|
||||
|
@ -150,7 +150,7 @@ FWheelEvent::FWheelEvent ( fc::events ev_type // constructor
|
|||
FWheelEvent::FWheelEvent ( fc::events ev_type // constructor
|
||||
, const FPoint& pos
|
||||
, int wheel )
|
||||
: FWheelEvent(ev_type, pos, FPoint{}, wheel)
|
||||
: FWheelEvent{ev_type, pos, FPoint{}, wheel}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -191,7 +191,7 @@ int FWheelEvent::getWheel() const
|
|||
//----------------------------------------------------------------------
|
||||
|
||||
FFocusEvent::FFocusEvent (fc::events ev_type) // constructor
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -236,7 +236,7 @@ void FFocusEvent::ignore()
|
|||
//----------------------------------------------------------------------
|
||||
|
||||
FAccelEvent::FAccelEvent (fc::events ev_type, void* focused) // constructor
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
, focus_widget{focused}
|
||||
{ }
|
||||
|
||||
|
@ -266,7 +266,7 @@ void FAccelEvent::ignore()
|
|||
//----------------------------------------------------------------------
|
||||
|
||||
FResizeEvent::FResizeEvent (fc::events ev_type) // constructor
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -291,7 +291,7 @@ void FResizeEvent::ignore()
|
|||
//----------------------------------------------------------------------
|
||||
|
||||
FShowEvent::FShowEvent (fc::events ev_type) // constructor
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -304,7 +304,7 @@ FShowEvent::~FShowEvent() // destructor
|
|||
//----------------------------------------------------------------------
|
||||
|
||||
FHideEvent::FHideEvent (fc::events ev_type) // constructor
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -317,7 +317,7 @@ FHideEvent::~FHideEvent() // destructor
|
|||
//----------------------------------------------------------------------
|
||||
|
||||
FCloseEvent::FCloseEvent (fc::events ev_type) // constructor
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -342,7 +342,7 @@ void FCloseEvent::ignore()
|
|||
//----------------------------------------------------------------------
|
||||
|
||||
FTimerEvent::FTimerEvent (fc::events ev_type, int timer_id) // constructor
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
, id{timer_id}
|
||||
{ }
|
||||
|
||||
|
@ -360,7 +360,7 @@ int FTimerEvent::getTimerId() const
|
|||
//----------------------------------------------------------------------
|
||||
|
||||
FUserEvent::FUserEvent (fc::events ev_type, int user_event_id) // constructor
|
||||
: FEvent(ev_type)
|
||||
: FEvent{ev_type}
|
||||
, uid{user_event_id}
|
||||
{ }
|
||||
|
||||
|
|
|
@ -99,14 +99,14 @@ FSystem* FFileDialog::fsystem{nullptr};
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FFileDialog::FFileDialog (FWidget* parent)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FFileDialog::FFileDialog (const FFileDialog& fdlg)
|
||||
: FDialog(fdlg.getParentWidget())
|
||||
: FDialog{fdlg.getParentWidget()}
|
||||
{
|
||||
if ( fdlg.directory )
|
||||
setPath(fdlg.directory);
|
||||
|
@ -119,9 +119,9 @@ FFileDialog::FFileDialog ( const FString& dirname
|
|||
, const FString& filter
|
||||
, DialogType type
|
||||
, FWidget* parent )
|
||||
: FDialog(parent)
|
||||
, filter_pattern(filter)
|
||||
, dlg_type(type)
|
||||
: FDialog{parent}
|
||||
, filter_pattern{filter}
|
||||
, dlg_type{type}
|
||||
{
|
||||
if ( ! dirname.isNull() )
|
||||
setPath(dirname);
|
||||
|
|
|
@ -40,15 +40,15 @@ namespace finalcut
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FLabel::FLabel(FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FLabel::FLabel (const FString& txt, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
, text(txt)
|
||||
: FWidget{parent}
|
||||
, text{txt}
|
||||
{
|
||||
init();
|
||||
setText(txt);
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FLineEdit::FLineEdit (FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
, label{new FLabel("", parent)}
|
||||
{
|
||||
init();
|
||||
|
@ -50,8 +50,8 @@ FLineEdit::FLineEdit (FWidget* parent)
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
FLineEdit::FLineEdit (const FString& txt, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
, text(txt)
|
||||
: FWidget{parent}
|
||||
, text{txt}
|
||||
, label{new FLabel("", parent)}
|
||||
{
|
||||
init();
|
||||
|
|
|
@ -45,16 +45,16 @@ FListBoxItem::FListBoxItem()
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
FListBoxItem::FListBoxItem (const FListBoxItem& item)
|
||||
: text(item.text)
|
||||
, data_pointer(item.data_pointer)
|
||||
, brackets(item.brackets)
|
||||
, selected(item.selected)
|
||||
: text{item.text}
|
||||
, data_pointer{item.data_pointer}
|
||||
, brackets{item.brackets}
|
||||
, selected{item.selected}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FListBoxItem::FListBoxItem (const FString& txt, FDataPtr data)
|
||||
: text(txt)
|
||||
, data_pointer(data)
|
||||
: text{txt}
|
||||
, data_pointer{data}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -87,7 +87,7 @@ FListBoxItem& FListBoxItem::operator = (const FListBoxItem& item)
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FListBox::FListBox (FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -170,9 +170,9 @@ bool sortDescendingByNumber (const FObject* lhs, const FObject* rhs)
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FListViewItem::FListViewItem (const FListViewItem& item)
|
||||
: FObject(item.getParent())
|
||||
, column_list(item.column_list)
|
||||
, data_pointer(item.data_pointer)
|
||||
: FObject{item.getParent()}
|
||||
, column_list{item.column_list}
|
||||
, data_pointer{item.data_pointer}
|
||||
{
|
||||
auto parent = getParent();
|
||||
|
||||
|
@ -191,7 +191,7 @@ FListViewItem::FListViewItem (const FListViewItem& item)
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
FListViewItem::FListViewItem (iterator parent_iter)
|
||||
: FObject((*parent_iter)->getParent())
|
||||
: FObject{(*parent_iter)->getParent()}
|
||||
{
|
||||
insert (this, parent_iter);
|
||||
}
|
||||
|
@ -200,9 +200,9 @@ FListViewItem::FListViewItem (iterator parent_iter)
|
|||
FListViewItem::FListViewItem ( const FStringList& cols
|
||||
, FDataPtr data
|
||||
, iterator parent_iter )
|
||||
: FObject(nullptr)
|
||||
, column_list(cols)
|
||||
, data_pointer(data)
|
||||
: FObject{nullptr}
|
||||
, column_list{cols}
|
||||
, data_pointer{data}
|
||||
{
|
||||
if ( cols.empty() )
|
||||
return;
|
||||
|
@ -496,7 +496,7 @@ FListViewIterator::FListViewIterator()
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
FListViewIterator::FListViewIterator (iterator iter)
|
||||
: node(iter)
|
||||
: node{iter}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -505,16 +505,16 @@ FListViewIterator::~FListViewIterator() // destructor
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
FListViewIterator::FListViewIterator (const FListViewIterator& i)
|
||||
: iter_path(i.iter_path) // copy constructor
|
||||
, node(i.node)
|
||||
, position(i.position)
|
||||
: iter_path{i.iter_path} // copy constructor
|
||||
, node{i.node}
|
||||
, position{i.position}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FListViewIterator::FListViewIterator (FListViewIterator&& i) noexcept
|
||||
: iter_path(std::move(i.iter_path)) // move constructor
|
||||
, node(std::move(i.node))
|
||||
, position(std::move(i.position))
|
||||
: iter_path{std::move(i.iter_path)} // move constructor
|
||||
, node{std::move(i.node)}
|
||||
, position{std::move(i.position)}
|
||||
{ }
|
||||
|
||||
// FListViewIterator operators
|
||||
|
@ -683,7 +683,7 @@ void FListViewIterator::parentElement()
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FListView::FListView (FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -45,15 +45,15 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FMenu::FMenu(FWidget* parent)
|
||||
: FWindow(parent)
|
||||
: FWindow{parent}
|
||||
{
|
||||
init(parent);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FMenu::FMenu (const FString& txt, FWidget* parent)
|
||||
: FWindow(parent)
|
||||
, menuitem(txt, parent)
|
||||
: FWindow{parent}
|
||||
, menuitem{txt, parent}
|
||||
{
|
||||
init(parent);
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FMenuBar::FMenuBar(FWidget* parent)
|
||||
: FWindow(parent)
|
||||
: FWindow{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -42,24 +42,24 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FMenuItem::FMenuItem (FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init (parent);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FMenuItem::FMenuItem (const FString& txt, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
, text(txt)
|
||||
: FWidget{parent}
|
||||
, text{txt}
|
||||
{
|
||||
init (parent);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FMenuItem::FMenuItem (FKey k, const FString& txt, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
, text(txt)
|
||||
, accel_key(k)
|
||||
: FWidget{parent}
|
||||
, text{txt}
|
||||
, accel_key{k}
|
||||
{
|
||||
init (parent);
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ static const char* const button_text[] =
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FMessageBox::FMessageBox (FWidget* parent)
|
||||
: FDialog(parent)
|
||||
: FDialog{parent}
|
||||
{
|
||||
setTitlebarText("Message for you");
|
||||
init(FMessageBox::Ok, 0, 0);
|
||||
|
@ -58,15 +58,15 @@ FMessageBox::FMessageBox (FWidget* parent)
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
FMessageBox::FMessageBox (const FMessageBox& mbox)
|
||||
: FDialog(mbox.getParentWidget())
|
||||
, headline_text(mbox.headline_text)
|
||||
, text(mbox.text)
|
||||
, text_components(mbox.text_components)
|
||||
, max_line_width(mbox.max_line_width)
|
||||
, emphasis_color(mbox.emphasis_color)
|
||||
, num_buttons(mbox.num_buttons)
|
||||
, text_num_lines(mbox.text_num_lines)
|
||||
, center_text(mbox.center_text)
|
||||
: FDialog{mbox.getParentWidget()}
|
||||
, headline_text{mbox.headline_text}
|
||||
, text{mbox.text}
|
||||
, text_components{mbox.text_components}
|
||||
, max_line_width{mbox.max_line_width}
|
||||
, emphasis_color{mbox.emphasis_color}
|
||||
, num_buttons{mbox.num_buttons}
|
||||
, text_num_lines{mbox.text_num_lines}
|
||||
, center_text{mbox.center_text}
|
||||
{
|
||||
setTitlebarText (mbox.getTitlebarText());
|
||||
init ( mbox.button_digit[0]
|
||||
|
@ -81,8 +81,8 @@ FMessageBox::FMessageBox ( const FString& caption
|
|||
, int button1
|
||||
, int button2
|
||||
, FWidget* parent )
|
||||
: FDialog(parent)
|
||||
, text(message)
|
||||
: FDialog{parent}
|
||||
, text{message}
|
||||
{
|
||||
setTitlebarText(caption);
|
||||
init(button0, button1, button2);
|
||||
|
|
|
@ -308,7 +308,7 @@ bool FMouse::isDblclickTimeout (const timeval* time)
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FMouseGPM::FMouseGPM()
|
||||
: FMouse()
|
||||
: FMouse{}
|
||||
{
|
||||
gpm_ev.x = -1;
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ const FString* fc::emptyFString::empty_string{nullptr};
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FObject::FObject (FObject* parent)
|
||||
: parent_obj(parent)
|
||||
: parent_obj{parent}
|
||||
{
|
||||
if ( parent ) // add object to parent
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace finalcut
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FOptiMove::FOptiMove (int baud)
|
||||
: baudrate(baud)
|
||||
: baudrate{baud}
|
||||
{
|
||||
assert ( baud >= 0 );
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace finalcut
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FProgressbar::FProgressbar(FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
unsetFocusable();
|
||||
setShadow();
|
||||
|
|
|
@ -33,14 +33,14 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FRadioButton::FRadioButton(FWidget* parent)
|
||||
: FToggleButton(parent)
|
||||
: FToggleButton{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FRadioButton::FRadioButton (const FString& txt, FWidget* parent)
|
||||
: FToggleButton(txt, parent)
|
||||
: FToggleButton{txt, parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* *
|
||||
* This file is part of the Final Cut widget toolkit *
|
||||
* *
|
||||
* Copyright 2015-2019 Markus Gans *
|
||||
* Copyright 2015-2020 Markus Gans *
|
||||
* *
|
||||
* The Final Cut is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU Lesser General Public License *
|
||||
|
@ -34,14 +34,14 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FRadioMenuItem::FRadioMenuItem (FWidget* parent)
|
||||
: FMenuItem(parent)
|
||||
: FMenuItem{parent}
|
||||
{
|
||||
init (parent);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FRadioMenuItem::FRadioMenuItem (const FString& txt, FWidget* parent)
|
||||
: FMenuItem(txt, parent)
|
||||
: FMenuItem{txt, parent}
|
||||
{
|
||||
init (parent);
|
||||
}
|
||||
|
|
|
@ -36,18 +36,18 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FRect::FRect (const FPoint& p, const FSize& s)
|
||||
: X1(p.getX())
|
||||
, Y1(p.getY())
|
||||
, X2(p.getX() + int(s.getWidth()) - 1)
|
||||
, Y2(p.getY() + int(s.getHeight()) - 1)
|
||||
: X1{p.getX()}
|
||||
, Y1{p.getY()}
|
||||
, X2{p.getX() + int(s.getWidth()) - 1}
|
||||
, Y2{p.getY() + int(s.getHeight()) - 1}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FRect::FRect (const FPoint& p1, const FPoint& p2)
|
||||
: X1(p1.getX())
|
||||
, Y1(p1.getY())
|
||||
, X2(p2.getX())
|
||||
, Y2(p2.getY())
|
||||
: X1{p1.getX()}
|
||||
, Y1{p1.getY()}
|
||||
, X2{p2.getX()}
|
||||
, Y2{p2.getY()}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -37,7 +37,7 @@ namespace finalcut
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FScrollbar::FScrollbar(FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
// The default scrollbar orientation is vertical
|
||||
setGeometry(FPoint{1, 1}, FSize{1, length}, false);
|
||||
|
@ -46,7 +46,7 @@ FScrollbar::FScrollbar(FWidget* parent)
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
FScrollbar::FScrollbar(fc::orientation o, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
setOrientation (o);
|
||||
init();
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace finalcut
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FScrollView::FScrollView (FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init(parent);
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace finalcut
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FSpinBox::FSpinBox (FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -36,16 +36,16 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FStatusKey::FStatusKey(FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init (parent);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FStatusKey::FStatusKey (FKey k, const FString& txt, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
, text(txt)
|
||||
, key(k)
|
||||
: FWidget{parent}
|
||||
, text{txt}
|
||||
, key{k}
|
||||
{
|
||||
init (parent);
|
||||
}
|
||||
|
@ -126,7 +126,7 @@ void FStatusKey::processActivate()
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FStatusBar::FStatusBar(FWidget* parent)
|
||||
: FWindow(parent)
|
||||
: FWindow{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -76,16 +76,15 @@ FString::FString (const FString& s) // copy constructor
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
FString::FString (FString&& s) noexcept // move constructor
|
||||
: string{std::move(s.string)}
|
||||
, length{s.length}
|
||||
, bufsize{s.bufsize}
|
||||
, c_string{std::move(s.c_string)}
|
||||
{
|
||||
string = std::move(s.string);
|
||||
c_string = std::move(s.c_string);
|
||||
length = s.length;
|
||||
bufsize = s.bufsize;
|
||||
|
||||
s.string = nullptr;
|
||||
s.c_string = nullptr;
|
||||
s.length = 0;
|
||||
s.bufsize = 0;
|
||||
s.c_string = nullptr;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
@ -175,22 +174,34 @@ FString::~FString() // destructor
|
|||
//----------------------------------------------------------------------
|
||||
FString& FString::operator = (const FString& s)
|
||||
{
|
||||
_assign (s.string);
|
||||
if ( &s != this )
|
||||
_assign (s.string);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FString& FString::operator = (FString&& s) noexcept
|
||||
{
|
||||
string = std::move(s.string);
|
||||
c_string = std::move(s.c_string);
|
||||
length = s.length;
|
||||
bufsize = s.bufsize;
|
||||
if ( &s != this )
|
||||
{
|
||||
if ( string )
|
||||
delete[](string);
|
||||
|
||||
if ( c_string )
|
||||
delete[](c_string);
|
||||
|
||||
string = std::move(s.string);
|
||||
length = s.length;
|
||||
bufsize = s.bufsize;
|
||||
c_string = std::move(s.c_string);
|
||||
|
||||
s.string = nullptr;
|
||||
s.length = 0;
|
||||
s.bufsize = 0;
|
||||
s.c_string = nullptr;
|
||||
}
|
||||
|
||||
s.string = nullptr;
|
||||
s.c_string = nullptr;
|
||||
s.length = 0;
|
||||
s.bufsize = 0;
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ FStringStream::FStringStream (const FString& str, openmode mode)
|
|||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FStringStream::FStringStream (FStringStream&& sstream)
|
||||
FStringStream::FStringStream (FStringStream&& sstream) noexcept
|
||||
: std::wiostream{std::move(sstream)}
|
||||
, buffer{std::move(sstream.buffer)}
|
||||
{
|
||||
|
@ -65,7 +65,7 @@ FStringStream& FStringStream::operator = (FStringStream&& sstream)
|
|||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void FStringStream::swap (FStringStream& sstream)
|
||||
void FStringStream::swap (FStringStream& sstream) noexcept
|
||||
{
|
||||
std::wiostream::swap(sstream);
|
||||
buffer.swap(sstream.buffer);
|
||||
|
|
|
@ -35,14 +35,14 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FSwitch::FSwitch(FWidget* parent)
|
||||
: FToggleButton(parent)
|
||||
: FToggleButton{parent}
|
||||
{
|
||||
setButtonWidth(11);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FSwitch::FSwitch (const FString& txt, FWidget* parent)
|
||||
: FToggleButton(txt, parent)
|
||||
: FToggleButton{txt, parent}
|
||||
, switch_offset_pos(txt.getLength() + 1)
|
||||
{
|
||||
setButtonWidth(11);
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FTextView::FTextView(FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FToggleButton::FToggleButton (FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
|
||||
|
@ -55,7 +55,7 @@ FToggleButton::FToggleButton (FWidget* parent)
|
|||
|
||||
//----------------------------------------------------------------------
|
||||
FToggleButton::FToggleButton (const FString& txt, FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
FToggleButton::setText(txt); // call own method
|
||||
init();
|
||||
|
|
|
@ -34,14 +34,14 @@ namespace finalcut
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FToolTip::FToolTip (FWidget* parent)
|
||||
: FWindow(parent)
|
||||
: FWindow{parent}
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
FToolTip::FToolTip (const FString& txt, FWidget* parent)
|
||||
: FWindow(parent)
|
||||
: FWindow{parent}
|
||||
, text{txt}
|
||||
{
|
||||
init();
|
||||
|
|
|
@ -60,8 +60,8 @@ uInt FWidget::modal_dialog_counter{};
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FWidget::FWidget (FWidget* parent, bool disable_alt_screen)
|
||||
: FVTerm( ! (bool(parent) || root_widget), disable_alt_screen)
|
||||
, FObject(parent)
|
||||
: FVTerm{ ! (bool(parent) || root_widget), disable_alt_screen}
|
||||
, FObject{parent}
|
||||
{
|
||||
// init bit field with 0
|
||||
memset (&flags, 0, sizeof(flags));
|
||||
|
|
|
@ -44,7 +44,7 @@ FWindow* FWindow::previous_window{nullptr};
|
|||
// constructor and destructor
|
||||
//----------------------------------------------------------------------
|
||||
FWindow::FWindow(FWidget* parent)
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
setWindowWidget();
|
||||
FRect geometry {getTermGeometry()};
|
||||
|
|
|
@ -149,6 +149,7 @@ class FApplication : public FWidget
|
|||
void init (uInt64, uInt64);
|
||||
static void cmd_options (const int&, char*[]);
|
||||
static FStartOptions& getStartOptions();
|
||||
void destroyLog();
|
||||
void findKeyboardWidget();
|
||||
bool isKeyPressed() const;
|
||||
void keyPressed();
|
||||
|
|
|
@ -350,7 +350,7 @@ inline FListBox::FListBox ( Iterator first
|
|||
, Iterator last
|
||||
, InsertConverter convert
|
||||
, FWidget* parent )
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
|
||||
|
@ -366,7 +366,7 @@ template <typename Container, typename LazyConverter>
|
|||
inline FListBox::FListBox ( Container container
|
||||
, LazyConverter convert
|
||||
, FWidget* parent )
|
||||
: FWidget(parent)
|
||||
: FWidget{parent}
|
||||
{
|
||||
init();
|
||||
insert (container, convert);
|
||||
|
|
|
@ -69,7 +69,7 @@ class FStringStream : public std::wiostream
|
|||
FStringStream (const FStringStream&) = delete;
|
||||
|
||||
// Move constructor
|
||||
FStringStream (FStringStream&&);
|
||||
FStringStream (FStringStream&&) noexcept;
|
||||
|
||||
// Destructor
|
||||
~FStringStream();
|
||||
|
@ -81,7 +81,7 @@ class FStringStream : public std::wiostream
|
|||
FStringStream& operator = (FStringStream&& sstream);
|
||||
|
||||
virtual const FString getClassName() const;
|
||||
void swap (FStringStream&);
|
||||
void swap (FStringStream&) noexcept;
|
||||
void clear();
|
||||
std::wstringbuf* rdbuf() const;
|
||||
FString str() const;
|
||||
|
@ -111,7 +111,7 @@ inline FString FStringStream::str() const
|
|||
|
||||
// FStringStream non-member function
|
||||
//----------------------------------------------------------------------
|
||||
inline void swap (FStringStream& a, FStringStream& b)
|
||||
inline void swap (FStringStream& a, FStringStream& b) noexcept
|
||||
{ a.swap(b); }
|
||||
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ namespace finalcut
|
|||
// constructors and destructor
|
||||
//----------------------------------------------------------------------
|
||||
SGRoptimizer::SGRoptimizer (attributebuffer& sequence)
|
||||
: seq(sequence)
|
||||
: seq{sequence}
|
||||
{ }
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
|
@ -447,6 +447,7 @@ void FStringTest::assignmentTest()
|
|||
CPPUNIT_ASSERT ( ! s9 );
|
||||
CPPUNIT_ASSERT ( s9.isNull() );
|
||||
CPPUNIT_ASSERT ( s9.isEmpty() );
|
||||
|
||||
finalcut::FString s10("abc");
|
||||
const finalcut::FString s11 = std::move(s10);
|
||||
CPPUNIT_ASSERT ( s11 );
|
||||
|
|
Loading…
Reference in New Issue