CERT, OOP50-CPP: Avoids calling a virtual function from the constructor
This commit is contained in:
parent
fd92d7f4d8
commit
defc1714e4
|
@ -39,6 +39,10 @@ using finalcut::FSize;
|
||||||
class SegmentView final : public finalcut::FDialog
|
class SegmentView final : public finalcut::FDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
// Using-declaration
|
||||||
|
using FDialog::setGeometry;
|
||||||
|
|
||||||
|
// Constructor
|
||||||
explicit SegmentView (finalcut::FWidget* = nullptr);
|
explicit SegmentView (finalcut::FWidget* = nullptr);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -55,11 +59,15 @@ class SegmentView final : public finalcut::FDialog
|
||||||
unsigned char : 1; // padding bit
|
unsigned char : 1; // padding bit
|
||||||
} sevenSegment;
|
} sevenSegment;
|
||||||
|
|
||||||
|
// Mutator
|
||||||
|
void setGeometry (const FRect&, bool = true) override;
|
||||||
|
|
||||||
// Methods
|
// Methods
|
||||||
void hexEncoding();
|
void hexEncoding();
|
||||||
void get7Segment (const wchar_t);
|
void get7Segment (const wchar_t);
|
||||||
void draw() override;
|
void draw() override;
|
||||||
|
|
||||||
|
|
||||||
// Data members
|
// Data members
|
||||||
std::map<wchar_t, sevenSegment> code{};
|
std::map<wchar_t, sevenSegment> code{};
|
||||||
finalcut::FString line[3];
|
finalcut::FString line[3];
|
||||||
|
@ -108,6 +116,14 @@ SegmentView::SegmentView (finalcut::FWidget* parent)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void SegmentView::setGeometry (const FRect& box, bool adjust)
|
||||||
|
{
|
||||||
|
// Avoids calling a virtual function from the constructor
|
||||||
|
// (CERT, OOP50-CPP)
|
||||||
|
FDialog::setGeometry (box, adjust);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void SegmentView::hexEncoding()
|
void SegmentView::hexEncoding()
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <final/final.h>
|
#include <final/final.h>
|
||||||
|
|
||||||
using finalcut::FPoint;
|
using finalcut::FPoint;
|
||||||
|
using finalcut::FRect;
|
||||||
using finalcut::FSize;
|
using finalcut::FSize;
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,10 +38,13 @@ using finalcut::FSize;
|
||||||
class Background final : public finalcut::FDialog
|
class Background final : public finalcut::FDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
// Using-declaration
|
||||||
|
using FDialog::setGeometry;
|
||||||
|
|
||||||
// Typedef
|
// Typedef
|
||||||
typedef std::tuple<uChar,uChar,uChar> RGB;
|
typedef std::tuple<uChar,uChar,uChar> RGB;
|
||||||
|
|
||||||
// Constructors
|
// Constructor
|
||||||
explicit Background (finalcut::FWidget* = nullptr);
|
explicit Background (finalcut::FWidget* = nullptr);
|
||||||
|
|
||||||
// Disable copy constructor
|
// Disable copy constructor
|
||||||
|
@ -53,6 +57,9 @@ class Background final : public finalcut::FDialog
|
||||||
Background& operator = (const Background&) = delete;
|
Background& operator = (const Background&) = delete;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// Mutator
|
||||||
|
void setGeometry (const FRect&, bool = true) override;
|
||||||
|
|
||||||
// Callback method
|
// Callback method
|
||||||
void cb_changed (const finalcut::FWidget*, const FDataPtr);
|
void cb_changed (const finalcut::FWidget*, const FDataPtr);
|
||||||
void cb_choice (const finalcut::FWidget*, const FDataPtr);
|
void cb_choice (const finalcut::FWidget*, const FDataPtr);
|
||||||
|
@ -168,6 +175,14 @@ Background::Background (finalcut::FWidget* parent)
|
||||||
Background::~Background() // destructor
|
Background::~Background() // destructor
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void Background::setGeometry (const FRect& box, bool adjust)
|
||||||
|
{
|
||||||
|
// Avoids calling a virtual function from the constructor
|
||||||
|
// (CERT, OOP50-CPP)
|
||||||
|
FDialog::setGeometry (box, adjust);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void Background::cb_changed (const finalcut::FWidget*, const FDataPtr)
|
void Background::cb_changed (const finalcut::FWidget*, const FDataPtr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
namespace fc = finalcut::fc;
|
namespace fc = finalcut::fc;
|
||||||
using finalcut::FPoint;
|
using finalcut::FPoint;
|
||||||
|
using finalcut::FRect;
|
||||||
using finalcut::FSize;
|
using finalcut::FSize;
|
||||||
using finalcut::FColorPair;
|
using finalcut::FColorPair;
|
||||||
|
|
||||||
|
@ -109,12 +110,18 @@ void Button::onKeyPress (finalcut::FKeyEvent* ev)
|
||||||
class Calc final : public finalcut::FDialog
|
class Calc final : public finalcut::FDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
// Using-declaration
|
||||||
|
using FDialog::setGeometry;
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
explicit Calc (finalcut::FWidget* parent = nullptr);
|
explicit Calc (finalcut::FWidget* parent = nullptr);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Calc() override;
|
~Calc() override;
|
||||||
|
|
||||||
|
// Mutator
|
||||||
|
void setGeometry (const FRect&, bool = true) override;
|
||||||
|
|
||||||
// Event handlers
|
// Event handlers
|
||||||
void onKeyPress (finalcut::FKeyEvent*) override;
|
void onKeyPress (finalcut::FKeyEvent*) override;
|
||||||
void onClose (finalcut::FCloseEvent*) override;
|
void onClose (finalcut::FCloseEvent*) override;
|
||||||
|
@ -299,6 +306,105 @@ Calc::Calc (FWidget* parent)
|
||||||
Calc::~Calc()
|
Calc::~Calc()
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void Calc::setGeometry (const FRect& box, bool adjust)
|
||||||
|
{
|
||||||
|
// Avoids calling a virtual function from the constructor
|
||||||
|
// (CERT, OOP50-CPP)
|
||||||
|
FDialog::setGeometry (box, adjust);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void Calc::onKeyPress (finalcut::FKeyEvent* ev)
|
||||||
|
{
|
||||||
|
const std::size_t len = input.getLength();
|
||||||
|
const FKey key = ev->key();
|
||||||
|
|
||||||
|
switch ( key )
|
||||||
|
{
|
||||||
|
case fc::Fkey_erase:
|
||||||
|
case fc::Fkey_backspace:
|
||||||
|
if ( len > 0 )
|
||||||
|
{
|
||||||
|
lDouble& x = getValue();
|
||||||
|
|
||||||
|
if ( len == 1 )
|
||||||
|
{
|
||||||
|
input = "";
|
||||||
|
x = 0.0L;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
input = input.left(input.getLength() - 1);
|
||||||
|
x = std::strtold(input.c_str(), nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
drawDispay();
|
||||||
|
updateTerminal();
|
||||||
|
}
|
||||||
|
|
||||||
|
ev->accept();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case fc::Fkey_escape:
|
||||||
|
case fc::Fkey_escape_mintty:
|
||||||
|
{
|
||||||
|
finalcut::FAccelEvent a_ev( fc::Accelerator_Event
|
||||||
|
, getFocusWidget() );
|
||||||
|
calculator_buttons[On]->onAccel(&a_ev);
|
||||||
|
}
|
||||||
|
ev->accept();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'q':
|
||||||
|
close();
|
||||||
|
ev->accept();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
finalcut::FDialog::onKeyPress(ev);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void Calc::onClose (finalcut::FCloseEvent* ev)
|
||||||
|
{
|
||||||
|
finalcut::FApplication::closeConfirmationDialog (this, ev);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void Calc::cb_buttonClicked (const finalcut::FWidget*, FDataPtr data)
|
||||||
|
{
|
||||||
|
lDouble& x = getValue();
|
||||||
|
const Calc::button& key = *(static_cast<Calc::button*>(data));
|
||||||
|
|
||||||
|
// Call the key function
|
||||||
|
(this->*key_map[key])(x);
|
||||||
|
|
||||||
|
if ( ! input.isEmpty() )
|
||||||
|
{
|
||||||
|
if ( isDataEntryKey(key) )
|
||||||
|
x = lDouble(input.toDouble());
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Remove trailing zeros
|
||||||
|
while ( ! input.includes(L'e')
|
||||||
|
&& input.includes(L'.')
|
||||||
|
&& input.back() == L'0' )
|
||||||
|
input = input.left(input.getLength() - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
drawDispay();
|
||||||
|
updateTerminal();
|
||||||
|
|
||||||
|
if ( infix_operator && ! isDataEntryKey(key) )
|
||||||
|
input = "";
|
||||||
|
|
||||||
|
last_key = key;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void Calc::drawDispay()
|
void Calc::drawDispay()
|
||||||
{
|
{
|
||||||
|
@ -977,97 +1083,6 @@ void Calc::calcInfixOperator()
|
||||||
clearInfixOperator();
|
clearInfixOperator();
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void Calc::onKeyPress (finalcut::FKeyEvent* ev)
|
|
||||||
{
|
|
||||||
const std::size_t len = input.getLength();
|
|
||||||
const FKey key = ev->key();
|
|
||||||
|
|
||||||
switch ( key )
|
|
||||||
{
|
|
||||||
case fc::Fkey_erase:
|
|
||||||
case fc::Fkey_backspace:
|
|
||||||
if ( len > 0 )
|
|
||||||
{
|
|
||||||
lDouble& x = getValue();
|
|
||||||
|
|
||||||
if ( len == 1 )
|
|
||||||
{
|
|
||||||
input = "";
|
|
||||||
x = 0.0L;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
input = input.left(input.getLength() - 1);
|
|
||||||
x = std::strtold(input.c_str(), nullptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
drawDispay();
|
|
||||||
updateTerminal();
|
|
||||||
}
|
|
||||||
|
|
||||||
ev->accept();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case fc::Fkey_escape:
|
|
||||||
case fc::Fkey_escape_mintty:
|
|
||||||
{
|
|
||||||
finalcut::FAccelEvent a_ev( fc::Accelerator_Event
|
|
||||||
, getFocusWidget() );
|
|
||||||
calculator_buttons[On]->onAccel(&a_ev);
|
|
||||||
}
|
|
||||||
ev->accept();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'q':
|
|
||||||
close();
|
|
||||||
ev->accept();
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
finalcut::FDialog::onKeyPress(ev);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void Calc::onClose (finalcut::FCloseEvent* ev)
|
|
||||||
{
|
|
||||||
finalcut::FApplication::closeConfirmationDialog (this, ev);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void Calc::cb_buttonClicked (const finalcut::FWidget*, FDataPtr data)
|
|
||||||
{
|
|
||||||
lDouble& x = getValue();
|
|
||||||
const Calc::button& key = *(static_cast<Calc::button*>(data));
|
|
||||||
|
|
||||||
// Call the key function
|
|
||||||
(this->*key_map[key])(x);
|
|
||||||
|
|
||||||
if ( ! input.isEmpty() )
|
|
||||||
{
|
|
||||||
if ( isDataEntryKey(key) )
|
|
||||||
x = lDouble(input.toDouble());
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Remove trailing zeros
|
|
||||||
while ( ! input.includes(L'e')
|
|
||||||
&& input.includes(L'.')
|
|
||||||
&& input.back() == L'0' )
|
|
||||||
input = input.left(input.getLength() - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
drawDispay();
|
|
||||||
updateTerminal();
|
|
||||||
|
|
||||||
if ( infix_operator && ! isDataEntryKey(key) )
|
|
||||||
input = "";
|
|
||||||
|
|
||||||
last_key = key;
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void Calc::adjustSize()
|
void Calc::adjustSize()
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
|
|
||||||
namespace fc = finalcut::fc;
|
namespace fc = finalcut::fc;
|
||||||
using finalcut::FPoint;
|
using finalcut::FPoint;
|
||||||
|
using finalcut::FRect;
|
||||||
using finalcut::FSize;
|
using finalcut::FSize;
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,6 +40,9 @@ using finalcut::FSize;
|
||||||
class CheckList final : public finalcut::FDialog
|
class CheckList final : public finalcut::FDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
// Using-declaration
|
||||||
|
using FDialog::setGeometry;
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
explicit CheckList (finalcut::FWidget* = nullptr);
|
explicit CheckList (finalcut::FWidget* = nullptr);
|
||||||
|
|
||||||
|
@ -51,6 +55,9 @@ class CheckList final : public finalcut::FDialog
|
||||||
// Disable copy assignment operator (=)
|
// Disable copy assignment operator (=)
|
||||||
CheckList& operator = (const CheckList&) = delete;
|
CheckList& operator = (const CheckList&) = delete;
|
||||||
|
|
||||||
|
// Mutator
|
||||||
|
void setGeometry (const FRect&, bool = true) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Method
|
// Method
|
||||||
void populate();
|
void populate();
|
||||||
|
@ -111,6 +118,14 @@ CheckList::CheckList (finalcut::FWidget* parent)
|
||||||
CheckList::~CheckList() // destructor
|
CheckList::~CheckList() // destructor
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void CheckList::setGeometry (const FRect& box, bool adjust)
|
||||||
|
{
|
||||||
|
// Avoids calling a virtual function from the constructor
|
||||||
|
// (CERT, OOP50-CPP)
|
||||||
|
FDialog::setGeometry (box, adjust);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void CheckList::populate()
|
void CheckList::populate()
|
||||||
{
|
{
|
||||||
|
|
|
@ -53,6 +53,9 @@ class ColorChooser final : public finalcut::FWidget
|
||||||
FColor getBackground();
|
FColor getBackground();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// Mutator
|
||||||
|
void setSize (const FSize&, bool = true) override;
|
||||||
|
|
||||||
// Method
|
// Method
|
||||||
void draw() override;
|
void draw() override;
|
||||||
void drawBorder() override;
|
void drawBorder() override;
|
||||||
|
@ -66,6 +69,7 @@ class ColorChooser final : public finalcut::FWidget
|
||||||
finalcut::FLabel headline{this};
|
finalcut::FLabel headline{this};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
ColorChooser::ColorChooser (finalcut::FWidget* parent)
|
ColorChooser::ColorChooser (finalcut::FWidget* parent)
|
||||||
: FWidget(parent)
|
: FWidget(parent)
|
||||||
|
@ -96,31 +100,23 @@ ColorChooser::~ColorChooser()
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void ColorChooser::onMouseDown (finalcut::FMouseEvent* ev)
|
inline FColor ColorChooser::getForeground()
|
||||||
{
|
{
|
||||||
const int mouse_x = ev->getX();
|
return fg_color;
|
||||||
const int mouse_y = ev->getY();
|
}
|
||||||
|
|
||||||
if ( ev->getButton() == fc::MiddleButton )
|
//----------------------------------------------------------------------
|
||||||
return;
|
inline FColor ColorChooser::getBackground()
|
||||||
|
{
|
||||||
|
return bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
for (int c{0}; c < 16; c++)
|
//----------------------------------------------------------------------
|
||||||
{
|
void ColorChooser::setSize (const FSize& size, bool adjust)
|
||||||
const int xmin = 2 + (c / 8) * 3;
|
{
|
||||||
const int xmax = 4 + (c / 8) * 3;
|
// Avoids calling a virtual function from the constructor
|
||||||
const int y = 3 + c % 8;
|
// (CERT, OOP50-CPP)
|
||||||
|
FWidget::setSize (size, adjust);
|
||||||
if ( mouse_x >= xmin && mouse_x <= xmax && mouse_y == y )
|
|
||||||
{
|
|
||||||
if ( ev->getButton() == fc::LeftButton )
|
|
||||||
bg_color = FColor(c);
|
|
||||||
else if ( ev->getButton() == fc::RightButton )
|
|
||||||
fg_color = FColor(c);
|
|
||||||
|
|
||||||
redraw();
|
|
||||||
emitCallback("clicked");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
@ -156,15 +152,31 @@ void ColorChooser::drawBorder()
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
inline FColor ColorChooser::getForeground()
|
void ColorChooser::onMouseDown (finalcut::FMouseEvent* ev)
|
||||||
{
|
{
|
||||||
return fg_color;
|
const int mouse_x = ev->getX();
|
||||||
}
|
const int mouse_y = ev->getY();
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
if ( ev->getButton() == fc::MiddleButton )
|
||||||
inline FColor ColorChooser::getBackground()
|
return;
|
||||||
{
|
|
||||||
return bg_color;
|
for (int c{0}; c < 16; c++)
|
||||||
|
{
|
||||||
|
const int xmin = 2 + (c / 8) * 3;
|
||||||
|
const int xmax = 4 + (c / 8) * 3;
|
||||||
|
const int y = 3 + c % 8;
|
||||||
|
|
||||||
|
if ( mouse_x >= xmin && mouse_x <= xmax && mouse_y == y )
|
||||||
|
{
|
||||||
|
if ( ev->getButton() == fc::LeftButton )
|
||||||
|
bg_color = FColor(c);
|
||||||
|
else if ( ev->getButton() == fc::RightButton )
|
||||||
|
fg_color = FColor(c);
|
||||||
|
|
||||||
|
redraw();
|
||||||
|
emitCallback("clicked");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -195,6 +207,9 @@ class Brushes final : public finalcut::FWidget
|
||||||
void setBackground (FColor);
|
void setBackground (FColor);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// Mutator
|
||||||
|
void setSize (const FSize&, bool = true) override;
|
||||||
|
|
||||||
// Method
|
// Method
|
||||||
void draw() override;
|
void draw() override;
|
||||||
void drawBorder() override;
|
void drawBorder() override;
|
||||||
|
@ -238,6 +253,14 @@ Brushes::Brushes (finalcut::FWidget* parent)
|
||||||
Brushes::~Brushes()
|
Brushes::~Brushes()
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void Brushes::setSize (const FSize& size, bool adjust)
|
||||||
|
{
|
||||||
|
// Avoids calling a virtual function from the constructor
|
||||||
|
// (CERT, OOP50-CPP)
|
||||||
|
FWidget::setSize (size, adjust);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void Brushes::draw()
|
void Brushes::draw()
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,6 +57,9 @@ class Transparent final : public finalcut::FDialog
|
||||||
// Disable copy assignment operator (=)
|
// Disable copy assignment operator (=)
|
||||||
Transparent& operator = (const Transparent&) = delete;
|
Transparent& operator = (const Transparent&) = delete;
|
||||||
|
|
||||||
|
// Mutator
|
||||||
|
void setStatusbarMessage (const finalcut::FString&) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Method
|
// Method
|
||||||
void draw() override;
|
void draw() override;
|
||||||
|
@ -82,6 +85,14 @@ Transparent::Transparent ( finalcut::FWidget* parent
|
||||||
Transparent::~Transparent()
|
Transparent::~Transparent()
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void Transparent::setStatusbarMessage (const finalcut::FString& msg)
|
||||||
|
{
|
||||||
|
// Avoids calling a virtual function from the constructor
|
||||||
|
// (CERT, OOP50-CPP)
|
||||||
|
FWidget::setStatusbarMessage(msg);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void Transparent::draw()
|
void Transparent::draw()
|
||||||
{
|
{
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
|
|
||||||
namespace fc = finalcut::fc;
|
namespace fc = finalcut::fc;
|
||||||
using finalcut::FPoint;
|
using finalcut::FPoint;
|
||||||
|
using finalcut::FRect;
|
||||||
using finalcut::FSize;
|
using finalcut::FSize;
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,6 +42,9 @@ using finalcut::FSize;
|
||||||
class ProgressDialog final : public finalcut::FDialog
|
class ProgressDialog final : public finalcut::FDialog
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
// Using-declaration
|
||||||
|
using FDialog::setGeometry;
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
explicit ProgressDialog (finalcut::FWidget* = nullptr);
|
explicit ProgressDialog (finalcut::FWidget* = nullptr);
|
||||||
|
|
||||||
|
@ -53,6 +57,9 @@ class ProgressDialog final : public finalcut::FDialog
|
||||||
// Disable copy assignment operator (=)
|
// Disable copy assignment operator (=)
|
||||||
ProgressDialog& operator = (const ProgressDialog&) = delete;
|
ProgressDialog& operator = (const ProgressDialog&) = delete;
|
||||||
|
|
||||||
|
// Mutator
|
||||||
|
void setGeometry (const FRect&, bool = true) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Event handlers
|
// Event handlers
|
||||||
void onShow (finalcut::FShowEvent*) override;
|
void onShow (finalcut::FShowEvent*) override;
|
||||||
|
@ -125,6 +132,14 @@ ProgressDialog::~ProgressDialog() // destructor
|
||||||
delCallback(&reset);
|
delCallback(&reset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void ProgressDialog::setGeometry (const FRect& box, bool adjust)
|
||||||
|
{
|
||||||
|
// Avoids calling a virtual function from the constructor
|
||||||
|
// (CERT, OOP50-CPP)
|
||||||
|
FDialog::setGeometry (box, adjust);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void ProgressDialog::onShow (finalcut::FShowEvent*)
|
void ProgressDialog::onShow (finalcut::FShowEvent*)
|
||||||
{
|
{
|
||||||
|
|
|
@ -67,7 +67,6 @@ libfinal_la_SOURCES = \
|
||||||
foptimove.cpp \
|
foptimove.cpp \
|
||||||
ftermbuffer.cpp \
|
ftermbuffer.cpp \
|
||||||
fapplication.cpp \
|
fapplication.cpp \
|
||||||
fcolorpalette.cpp \
|
|
||||||
fwidgetcolors.cpp \
|
fwidgetcolors.cpp \
|
||||||
fwidget.cpp \
|
fwidget.cpp \
|
||||||
fwidget_functions.cpp \
|
fwidget_functions.cpp \
|
||||||
|
|
|
@ -139,7 +139,6 @@ OBJS = \
|
||||||
foptimove.o \
|
foptimove.o \
|
||||||
ftermbuffer.o \
|
ftermbuffer.o \
|
||||||
fapplication.o \
|
fapplication.o \
|
||||||
fcolorpalette.o \
|
|
||||||
fwidgetcolors.o \
|
fwidgetcolors.o \
|
||||||
fwidget.o \
|
fwidget.o \
|
||||||
fwidget_functions.o \
|
fwidget_functions.o \
|
||||||
|
|
|
@ -139,7 +139,6 @@ OBJS = \
|
||||||
foptimove.o \
|
foptimove.o \
|
||||||
ftermbuffer.o \
|
ftermbuffer.o \
|
||||||
fapplication.o \
|
fapplication.o \
|
||||||
fcolorpalette.o \
|
|
||||||
fwidgetcolors.o \
|
fwidgetcolors.o \
|
||||||
fwidget.o \
|
fwidget.o \
|
||||||
fwidget_functions.o \
|
fwidget_functions.o \
|
||||||
|
|
|
@ -1122,7 +1122,7 @@ void FApplication::performTimerAction (FObject* receiver, FEvent* event)
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
bool FApplication::isEventProcessable (FObject* receiver, FEvent* event )
|
bool FApplication::isEventProcessable (const FObject* receiver, const FEvent* event )
|
||||||
{
|
{
|
||||||
if ( ! receiver->isWidget() ) // No restrictions for non-widgets
|
if ( ! receiver->isWidget() ) // No restrictions for non-widgets
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1,106 +0,0 @@
|
||||||
/***********************************************************************
|
|
||||||
* fcolorpalette.cpp - Define RGB color value for a palette entry *
|
|
||||||
* *
|
|
||||||
* This file is part of the Final Cut widget toolkit *
|
|
||||||
* *
|
|
||||||
* Copyright 2018-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 *
|
|
||||||
* as published by the Free Software Foundation; either version 3 of *
|
|
||||||
* the License, or (at your option) any later version. *
|
|
||||||
* *
|
|
||||||
* The Final Cut is distributed in the hope that it will be useful, *
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
||||||
* GNU Lesser General Public License for more details. *
|
|
||||||
* *
|
|
||||||
* You should have received a copy of the GNU Lesser General Public *
|
|
||||||
* License along with this program. If not, see *
|
|
||||||
* <http://www.gnu.org/licenses/>. *
|
|
||||||
***********************************************************************/
|
|
||||||
|
|
||||||
#include "final/fc.h"
|
|
||||||
#include "final/fcolorpalette.h"
|
|
||||||
|
|
||||||
namespace finalcut
|
|
||||||
{
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
// class FColorPalette
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FColorPalette::~FColorPalette() // destructor
|
|
||||||
{ }
|
|
||||||
|
|
||||||
// public methods of FColorPalette
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void FColorPalette::set8ColorPalette (func setPalette)
|
|
||||||
{
|
|
||||||
setPalette (fc::Black, 0x00, 0x00, 0x00);
|
|
||||||
setPalette (fc::Blue, 0x10, 0x3b, 0x9e);
|
|
||||||
setPalette (fc::Green, 0x18, 0x78, 0x18);
|
|
||||||
setPalette (fc::Cyan, 0xa0, 0xb2, 0xb2);
|
|
||||||
setPalette (fc::Red, 0xb2, 0x18, 0x18);
|
|
||||||
setPalette (fc::Magenta, 0xb2, 0x18, 0xb2);
|
|
||||||
setPalette (fc::Brown, 0xe8, 0x87, 0x1f);
|
|
||||||
setPalette (fc::LightGray, 0xe0, 0xe0, 0xe0);
|
|
||||||
// The same colors again...
|
|
||||||
setPalette (fc::DarkGray, 0x00, 0x00, 0x00);
|
|
||||||
setPalette (fc::LightBlue, 0x10, 0x3b, 0x9e);
|
|
||||||
setPalette (fc::LightGreen, 0x18, 0x78, 0x18);
|
|
||||||
setPalette (fc::Cyan, 0xa0, 0xb2, 0xb2);
|
|
||||||
setPalette (fc::LightRed, 0xb2, 0x18, 0x18);
|
|
||||||
setPalette (fc::LightMagenta, 0xb2, 0x18, 0xb2);
|
|
||||||
setPalette (fc::Yellow, 0xe8, 0x87, 0x1f);
|
|
||||||
setPalette (fc::White, 0xe0, 0xe0, 0xe0);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void FColorPalette::set16ColorPalette (func setPalette)
|
|
||||||
{
|
|
||||||
setPalette (fc::Black, 0x00, 0x00, 0x00);
|
|
||||||
setPalette (fc::Blue, 0x10, 0x3b, 0x9e);
|
|
||||||
setPalette (fc::Green, 0x18, 0x78, 0x18);
|
|
||||||
setPalette (fc::Cyan, 0x55, 0x6a, 0xcf);
|
|
||||||
setPalette (fc::Red, 0xba, 0x1a, 0x1a);
|
|
||||||
setPalette (fc::Magenta, 0xb2, 0x18, 0xb2);
|
|
||||||
setPalette (fc::Brown, 0xe8, 0x87, 0x1f);
|
|
||||||
setPalette (fc::LightGray, 0xbc, 0xbc, 0xbc);
|
|
||||||
setPalette (fc::DarkGray, 0x50, 0x50, 0x50);
|
|
||||||
setPalette (fc::LightBlue, 0x80, 0xa4, 0xec);
|
|
||||||
setPalette (fc::LightGreen, 0x5e, 0xeb, 0x5c);
|
|
||||||
setPalette (fc::LightCyan, 0x62, 0xbf, 0xf8);
|
|
||||||
setPalette (fc::LightRed, 0xee, 0x44, 0x44);
|
|
||||||
setPalette (fc::LightMagenta, 0xe9, 0xad, 0xff);
|
|
||||||
setPalette (fc::Yellow, 0xfb, 0xe8, 0x67);
|
|
||||||
setPalette (fc::White, 0xff, 0xff, 0xff);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void FColorPalette::reset8ColorPalette (func setPalette)
|
|
||||||
{
|
|
||||||
reset16ColorPalette(setPalette);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void FColorPalette::reset16ColorPalette (func setPalette)
|
|
||||||
{
|
|
||||||
setPalette (fc::Black, 0x00, 0x00, 0x00);
|
|
||||||
setPalette (fc::Blue, 0x00, 0x00, 0xaa);
|
|
||||||
setPalette (fc::Green, 0x00, 0xaa, 0x00);
|
|
||||||
setPalette (fc::Cyan, 0x00, 0x55, 0xaa);
|
|
||||||
setPalette (fc::Red, 0xaa, 0x00, 0x00);
|
|
||||||
setPalette (fc::Magenta, 0xaa, 0x00, 0xaa);
|
|
||||||
setPalette (fc::Brown, 0xaa, 0xaa, 0x00);
|
|
||||||
setPalette (fc::LightGray, 0xaa, 0xaa, 0xaa);
|
|
||||||
setPalette (fc::DarkGray, 0x55, 0x55, 0x55);
|
|
||||||
setPalette (fc::LightBlue, 0x55, 0x55, 0xff);
|
|
||||||
setPalette (fc::LightGreen, 0x55, 0xff, 0x55);
|
|
||||||
setPalette (fc::LightCyan, 0x55, 0xff, 0xff);
|
|
||||||
setPalette (fc::LightRed, 0xff, 0x55, 0x55);
|
|
||||||
setPalette (fc::LightMagenta, 0xff, 0x55, 0xff);
|
|
||||||
setPalette (fc::Yellow, 0xff, 0xff, 0x55);
|
|
||||||
setPalette (fc::White, 0xff, 0xff, 0xff);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace finalcut
|
|
|
@ -427,10 +427,6 @@ void FComboBox::onMouseDown (FMouseEvent* ev)
|
||||||
updateTerminal();
|
updateTerminal();
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void FComboBox::onMouseUp (FMouseEvent*)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void FComboBox::onMouseMove (FMouseEvent* ev)
|
void FComboBox::onMouseMove (FMouseEvent* ev)
|
||||||
{
|
{
|
||||||
|
|
|
@ -776,14 +776,6 @@ void FDialog::drawDialogShadow()
|
||||||
drawShadow(this);
|
drawShadow(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void FDialog::onShow (FShowEvent*)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
void FDialog::onHide (FHideEvent*)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void FDialog::onClose (FCloseEvent* ev)
|
void FDialog::onClose (FCloseEvent* ev)
|
||||||
{
|
{
|
||||||
|
|
|
@ -287,25 +287,25 @@ void FTermcap::termcapKeysVt100()
|
||||||
for (std::size_t i{0}; fc::fkey[i].tname[0] != 0; i++)
|
for (std::size_t i{0}; fc::fkey[i].tname[0] != 0; i++)
|
||||||
{
|
{
|
||||||
if ( std::strncmp(fc::fkey[i].tname, "kux", 3) == 0 )
|
if ( std::strncmp(fc::fkey[i].tname, "kux", 3) == 0 )
|
||||||
fc::fkey[i].string = C_STR(CSI "A"); // Key up (standard mode)
|
fc::fkey[i].string = C_STR(CSI "A"); // Key up (standard mode)
|
||||||
|
|
||||||
if ( std::strncmp(fc::fkey[i].tname, "kuX", 3) == 0 )
|
if ( std::strncmp(fc::fkey[i].tname, "kuX", 3) == 0 )
|
||||||
fc::fkey[i].string = C_STR(ESC "OA"); // Key up (application mode)
|
fc::fkey[i].string = C_STR(ESC "OA"); // Key up (application mode)
|
||||||
|
|
||||||
if ( std::strncmp(fc::fkey[i].tname, "kdx", 3) == 0 )
|
if ( std::strncmp(fc::fkey[i].tname, "kdx", 3) == 0 )
|
||||||
fc::fkey[i].string = C_STR(CSI "B"); // Key down (standard mode)
|
fc::fkey[i].string = C_STR(CSI "B"); // Key down (standard mode)
|
||||||
|
|
||||||
if ( std::strncmp(fc::fkey[i].tname, "kdX", 3) == 0 )
|
if ( std::strncmp(fc::fkey[i].tname, "kdX", 3) == 0 )
|
||||||
fc::fkey[i].string = C_STR(ESC "OB"); // Key down (application mode)
|
fc::fkey[i].string = C_STR(ESC "OB"); // Key down (application mode)
|
||||||
|
|
||||||
if ( std::strncmp(fc::fkey[i].tname, "krx", 3) == 0 )
|
if ( std::strncmp(fc::fkey[i].tname, "krx", 3) == 0 )
|
||||||
fc::fkey[i].string = C_STR(CSI "C"); // Key right (standard mode)
|
fc::fkey[i].string = C_STR(CSI "C"); // Key right (standard mode)
|
||||||
|
|
||||||
if ( std::strncmp(fc::fkey[i].tname, "krX", 3) == 0 )
|
if ( std::strncmp(fc::fkey[i].tname, "krX", 3) == 0 )
|
||||||
fc::fkey[i].string = C_STR(ESC "OC"); // Key right (application mode)
|
fc::fkey[i].string = C_STR(ESC "OC"); // Key right (application mode)
|
||||||
|
|
||||||
if ( std::strncmp(fc::fkey[i].tname, "klx", 3) == 0 )
|
if ( std::strncmp(fc::fkey[i].tname, "klx", 3) == 0 )
|
||||||
fc::fkey[i].string = C_STR(CSI "D"); // Key left (standard mode)
|
fc::fkey[i].string = C_STR(CSI "D"); // Key left (standard mode)
|
||||||
|
|
||||||
if ( std::strncmp(fc::fkey[i].tname, "klX", 3) == 0 )
|
if ( std::strncmp(fc::fkey[i].tname, "klX", 3) == 0 )
|
||||||
fc::fkey[i].string = C_STR(ESC "OD"); // Key left (application mode)
|
fc::fkey[i].string = C_STR(ESC "OD"); // Key left (application mode)
|
||||||
|
|
|
@ -179,7 +179,7 @@ class FApplication : public FWidget
|
||||||
void processCloseWidget();
|
void processCloseWidget();
|
||||||
bool processNextEvent();
|
bool processNextEvent();
|
||||||
void performTimerAction (FObject*, FEvent*) override;
|
void performTimerAction (FObject*, FEvent*) override;
|
||||||
static bool isEventProcessable (FObject*, FEvent*);
|
static bool isEventProcessable (const FObject*, const FEvent*);
|
||||||
|
|
||||||
// Data members
|
// Data members
|
||||||
int app_argc{};
|
int app_argc{};
|
||||||
|
|
|
@ -49,9 +49,6 @@ namespace finalcut
|
||||||
class FColorPalette final
|
class FColorPalette final
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// Using-declaration
|
|
||||||
using func = std::function<void(FColor, int, int, int)>;
|
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
FColorPalette() = default;
|
FColorPalette() = default;
|
||||||
|
|
||||||
|
@ -62,10 +59,14 @@ class FColorPalette final
|
||||||
const FString getClassName() const;
|
const FString getClassName() const;
|
||||||
|
|
||||||
// Methods
|
// Methods
|
||||||
static void set8ColorPalette (func);
|
template<typename funcT>
|
||||||
static void set16ColorPalette (func);
|
static void set8ColorPalette (funcT);
|
||||||
static void reset8ColorPalette (func);
|
template<typename funcT>
|
||||||
static void reset16ColorPalette (func);
|
static void set16ColorPalette (funcT);
|
||||||
|
template<typename funcT>
|
||||||
|
static void reset8ColorPalette (funcT);
|
||||||
|
template<typename funcT>
|
||||||
|
static void reset16ColorPalette (funcT);
|
||||||
};
|
};
|
||||||
|
|
||||||
// FColorPalette inline functions
|
// FColorPalette inline functions
|
||||||
|
@ -73,6 +74,86 @@ class FColorPalette final
|
||||||
inline const FString FColorPalette::getClassName() const
|
inline const FString FColorPalette::getClassName() const
|
||||||
{ return "FColorPalette"; }
|
{ return "FColorPalette"; }
|
||||||
|
|
||||||
|
// constructors and destructor
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
inline FColorPalette::~FColorPalette() // destructor
|
||||||
|
{ }
|
||||||
|
|
||||||
|
// public methods of FColorPalette
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
template<typename funcT>
|
||||||
|
void FColorPalette::set8ColorPalette (funcT set_palette)
|
||||||
|
{
|
||||||
|
set_palette (fc::Black, 0x00, 0x00, 0x00);
|
||||||
|
set_palette (fc::Blue, 0x10, 0x3b, 0x9e);
|
||||||
|
set_palette (fc::Green, 0x18, 0x78, 0x18);
|
||||||
|
set_palette (fc::Cyan, 0xa0, 0xb2, 0xb2);
|
||||||
|
set_palette (fc::Red, 0xb2, 0x18, 0x18);
|
||||||
|
set_palette (fc::Magenta, 0xb2, 0x18, 0xb2);
|
||||||
|
set_palette (fc::Brown, 0xe8, 0x87, 0x1f);
|
||||||
|
set_palette (fc::LightGray, 0xe0, 0xe0, 0xe0);
|
||||||
|
// The same colors again...
|
||||||
|
set_palette (fc::DarkGray, 0x00, 0x00, 0x00);
|
||||||
|
set_palette (fc::LightBlue, 0x10, 0x3b, 0x9e);
|
||||||
|
set_palette (fc::LightGreen, 0x18, 0x78, 0x18);
|
||||||
|
set_palette (fc::Cyan, 0xa0, 0xb2, 0xb2);
|
||||||
|
set_palette (fc::LightRed, 0xb2, 0x18, 0x18);
|
||||||
|
set_palette (fc::LightMagenta, 0xb2, 0x18, 0xb2);
|
||||||
|
set_palette (fc::Yellow, 0xe8, 0x87, 0x1f);
|
||||||
|
set_palette (fc::White, 0xe0, 0xe0, 0xe0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
template<typename funcT>
|
||||||
|
void FColorPalette::set16ColorPalette (funcT set_palette)
|
||||||
|
{
|
||||||
|
set_palette (fc::Black, 0x00, 0x00, 0x00);
|
||||||
|
set_palette (fc::Blue, 0x10, 0x3b, 0x9e);
|
||||||
|
set_palette (fc::Green, 0x18, 0x78, 0x18);
|
||||||
|
set_palette (fc::Cyan, 0x55, 0x6a, 0xcf);
|
||||||
|
set_palette (fc::Red, 0xba, 0x1a, 0x1a);
|
||||||
|
set_palette (fc::Magenta, 0xb2, 0x18, 0xb2);
|
||||||
|
set_palette (fc::Brown, 0xe8, 0x87, 0x1f);
|
||||||
|
set_palette (fc::LightGray, 0xbc, 0xbc, 0xbc);
|
||||||
|
set_palette (fc::DarkGray, 0x50, 0x50, 0x50);
|
||||||
|
set_palette (fc::LightBlue, 0x80, 0xa4, 0xec);
|
||||||
|
set_palette (fc::LightGreen, 0x5e, 0xeb, 0x5c);
|
||||||
|
set_palette (fc::LightCyan, 0x62, 0xbf, 0xf8);
|
||||||
|
set_palette (fc::LightRed, 0xee, 0x44, 0x44);
|
||||||
|
set_palette (fc::LightMagenta, 0xe9, 0xad, 0xff);
|
||||||
|
set_palette (fc::Yellow, 0xfb, 0xe8, 0x67);
|
||||||
|
set_palette (fc::White, 0xff, 0xff, 0xff);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
template<typename funcT>
|
||||||
|
void FColorPalette::reset8ColorPalette (funcT set_palette)
|
||||||
|
{
|
||||||
|
reset16ColorPalette(set_palette);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
template<typename funcT>
|
||||||
|
void FColorPalette::reset16ColorPalette (funcT set_palette)
|
||||||
|
{
|
||||||
|
set_palette (fc::Black, 0x00, 0x00, 0x00);
|
||||||
|
set_palette (fc::Blue, 0x00, 0x00, 0xaa);
|
||||||
|
set_palette (fc::Green, 0x00, 0xaa, 0x00);
|
||||||
|
set_palette (fc::Cyan, 0x00, 0x55, 0xaa);
|
||||||
|
set_palette (fc::Red, 0xaa, 0x00, 0x00);
|
||||||
|
set_palette (fc::Magenta, 0xaa, 0x00, 0xaa);
|
||||||
|
set_palette (fc::Brown, 0xaa, 0xaa, 0x00);
|
||||||
|
set_palette (fc::LightGray, 0xaa, 0xaa, 0xaa);
|
||||||
|
set_palette (fc::DarkGray, 0x55, 0x55, 0x55);
|
||||||
|
set_palette (fc::LightBlue, 0x55, 0x55, 0xff);
|
||||||
|
set_palette (fc::LightGreen, 0x55, 0xff, 0x55);
|
||||||
|
set_palette (fc::LightCyan, 0x55, 0xff, 0xff);
|
||||||
|
set_palette (fc::LightRed, 0xff, 0x55, 0x55);
|
||||||
|
set_palette (fc::LightMagenta, 0xff, 0x55, 0xff);
|
||||||
|
set_palette (fc::Yellow, 0xff, 0xff, 0x55);
|
||||||
|
set_palette (fc::White, 0xff, 0xff, 0xff);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace finalcut
|
} // namespace finalcut
|
||||||
|
|
||||||
#endif // FCOLORPALETTE_H
|
#endif // FCOLORPALETTE_H
|
||||||
|
|
|
@ -196,7 +196,6 @@ class FComboBox : public FWidget
|
||||||
// Event handlers
|
// Event handlers
|
||||||
void onKeyPress (FKeyEvent*) override;
|
void onKeyPress (FKeyEvent*) override;
|
||||||
void onMouseDown (FMouseEvent*) override;
|
void onMouseDown (FMouseEvent*) override;
|
||||||
void onMouseUp (FMouseEvent*) override;
|
|
||||||
void onMouseMove (FMouseEvent*) override;
|
void onMouseMove (FMouseEvent*) override;
|
||||||
void onWheel (FWheelEvent*) override;
|
void onWheel (FWheelEvent*) override;
|
||||||
void onFocusOut (FFocusEvent*) override;
|
void onFocusOut (FFocusEvent*) override;
|
||||||
|
|
|
@ -151,8 +151,6 @@ class FDialog : public FWindow
|
||||||
void drawDialogShadow();
|
void drawDialogShadow();
|
||||||
|
|
||||||
// Event handlers
|
// Event handlers
|
||||||
void onShow (FShowEvent*) override;
|
|
||||||
void onHide (FHideEvent*) override;
|
|
||||||
void onClose (FCloseEvent*) override;
|
void onClose (FCloseEvent*) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in New Issue