Easier handling of fc::SpecialCharacter
This commit is contained in:
parent
48f88fdeec
commit
9ba1b77069
|
@ -1,3 +1,6 @@
|
||||||
|
2018-12-06 Markus Gans <guru.mail@muenster.de>
|
||||||
|
* Easier handling of fc::SpecialCharacter
|
||||||
|
|
||||||
2018-12-01 Markus Gans <guru.mail@muenster.de>
|
2018-12-01 Markus Gans <guru.mail@muenster.de>
|
||||||
* Switched to the language standard C++11
|
* Switched to the language standard C++11
|
||||||
* Use delegated constructors and in-class default member initializers
|
* Use delegated constructors and in-class default member initializers
|
||||||
|
|
|
@ -75,6 +75,10 @@ AC_CONFIG_FILES([Makefile
|
||||||
finalcut.spec
|
finalcut.spec
|
||||||
finalcut.pc])
|
finalcut.pc])
|
||||||
|
|
||||||
|
# Check for C++11 support
|
||||||
|
AX_CHECK_COMPILE_FLAG([[-std=c++11]],,
|
||||||
|
[AC_MSG_ERROR([compiler did not accept -std=c++11])])
|
||||||
|
|
||||||
# use GPM (General Purpose Mouse)
|
# use GPM (General Purpose Mouse)
|
||||||
AC_ARG_WITH([gpm],
|
AC_ARG_WITH([gpm],
|
||||||
[AS_HELP_STRING([--without-gpm], [Disable GPM mouse support])],
|
[AS_HELP_STRING([--without-gpm], [Disable GPM mouse support])],
|
||||||
|
|
|
@ -345,11 +345,11 @@ void Calc::drawDispay()
|
||||||
|
|
||||||
if ( isNewFont() )
|
if ( isNewFont() )
|
||||||
{
|
{
|
||||||
wchar_t bottom_line = wchar_t(finalcut::fc::NF_border_line_bottom);
|
wchar_t bottom_line = finalcut::fc::NF_border_line_bottom;
|
||||||
wchar_t top_bottom_line = wchar_t(finalcut::fc::NF_border_line_up_and_down);
|
wchar_t top_bottom_line = finalcut::fc::NF_border_line_up_and_down;
|
||||||
wchar_t top_line = wchar_t(finalcut::fc::NF_border_line_upper);
|
wchar_t top_line = finalcut::fc::NF_border_line_upper;
|
||||||
wchar_t right_line = wchar_t(finalcut::fc::NF_rev_border_line_right);
|
wchar_t right_line = finalcut::fc::NF_rev_border_line_right;
|
||||||
wchar_t left_line = wchar_t(finalcut::fc::NF_border_line_left);
|
wchar_t left_line = finalcut::fc::NF_border_line_left;
|
||||||
setPrintPos (3, 2);
|
setPrintPos (3, 2);
|
||||||
print (finalcut::FString(33, bottom_line));
|
print (finalcut::FString(33, bottom_line));
|
||||||
setPrintPos (2, 3);
|
setPrintPos (2, 3);
|
||||||
|
@ -367,9 +367,9 @@ void Calc::drawDispay()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wchar_t vertical_and_right = wchar_t(finalcut::fc::BoxDrawingsVerticalAndRight);
|
wchar_t vertical_and_right = finalcut::fc::BoxDrawingsVerticalAndRight;
|
||||||
wchar_t horizontal = wchar_t(finalcut::fc::BoxDrawingsHorizontal);
|
wchar_t horizontal = finalcut::fc::BoxDrawingsHorizontal;
|
||||||
wchar_t vertical_and_left = wchar_t(finalcut::fc::BoxDrawingsVerticalAndLeft);
|
wchar_t vertical_and_left = finalcut::fc::BoxDrawingsVerticalAndLeft;
|
||||||
finalcut::FString separator = finalcut::FString(vertical_and_right)
|
finalcut::FString separator = finalcut::FString(vertical_and_right)
|
||||||
+ finalcut::FString(35, horizontal)
|
+ finalcut::FString(35, horizontal)
|
||||||
+ finalcut::FString(vertical_and_left);
|
+ finalcut::FString(vertical_and_left);
|
||||||
|
|
|
@ -85,7 +85,7 @@ CheckList::CheckList (finalcut::FWidget* parent)
|
||||||
|
|
||||||
// Statusbar at the bottom
|
// Statusbar at the bottom
|
||||||
finalcut::FString separator;
|
finalcut::FString separator;
|
||||||
separator << ' ' << wchar_t(finalcut::fc::BoxDrawingsVertical) << ' ';
|
separator << ' ' << finalcut::fc::BoxDrawingsVertical << ' ';
|
||||||
listView.setStatusbarMessage ( finalcut::FString()
|
listView.setStatusbarMessage ( finalcut::FString()
|
||||||
<< "<Q> exit" << separator
|
<< "<Q> exit" << separator
|
||||||
<< "<Space> select an item" << separator
|
<< "<Space> select an item" << separator
|
||||||
|
@ -170,7 +170,7 @@ void CheckList::cb_showList (finalcut::FWidget*, data_ptr)
|
||||||
static_cast<finalcut::FListViewItem*>(*iter);
|
static_cast<finalcut::FListViewItem*>(*iter);
|
||||||
|
|
||||||
if ( item->isChecked() )
|
if ( item->isChecked() )
|
||||||
shopping_list << wchar_t(finalcut::fc::Bullet) << ' '
|
shopping_list << finalcut::fc::Bullet << ' '
|
||||||
<< item->getText(1) << '\n';
|
<< item->getText(1) << '\n';
|
||||||
|
|
||||||
++iter;
|
++iter;
|
||||||
|
|
|
@ -53,10 +53,10 @@ int main (int argc, char* argv[])
|
||||||
finalcut::FLabel label_1(&dgl);
|
finalcut::FLabel label_1(&dgl);
|
||||||
finalcut::FLabel label_2(&dgl);
|
finalcut::FLabel label_2(&dgl);
|
||||||
|
|
||||||
label_1 << wchar_t(finalcut::fc::BlackUpPointingTriangle)
|
label_1 << finalcut::fc::BlackUpPointingTriangle
|
||||||
<< std::wstring(L"\n")
|
<< std::wstring(L"\n")
|
||||||
<< wchar_t(finalcut::fc::BoxDrawingsUpAndRight)
|
<< finalcut::fc::BoxDrawingsUpAndRight
|
||||||
<< finalcut::FString(2, wchar_t(finalcut::fc::BoxDrawingsHorizontal))
|
<< finalcut::FString(2, finalcut::fc::BoxDrawingsHorizontal)
|
||||||
<< " Double click the title bar button,";
|
<< " Double click the title bar button,";
|
||||||
label_2 << "press Q on the keyboard,\n"
|
label_2 << "press Q on the keyboard,\n"
|
||||||
<< "or push the button below to exit\n"
|
<< "or push the button below to exit\n"
|
||||||
|
|
|
@ -63,7 +63,7 @@ class Menu : public finalcut::FDialog
|
||||||
void cb_message (finalcut::FWidget*, data_ptr);
|
void cb_message (finalcut::FWidget*, data_ptr);
|
||||||
|
|
||||||
// Data Members
|
// Data Members
|
||||||
finalcut::FString line{13, wchar_t(finalcut::fc::BoxDrawingsHorizontal)};
|
finalcut::FString line{13, finalcut::fc::BoxDrawingsHorizontal};
|
||||||
finalcut::FMenuBar Menubar{this};
|
finalcut::FMenuBar Menubar{this};
|
||||||
finalcut::FMenu File{"&File", &Menubar};
|
finalcut::FMenu File{"&File", &Menubar};
|
||||||
finalcut::FMenu Edit{"&Edit", &Menubar};
|
finalcut::FMenu Edit{"&Edit", &Menubar};
|
||||||
|
|
|
@ -242,7 +242,7 @@ void Brushes::draw()
|
||||||
setColor (fg_color, bg_color);
|
setColor (fg_color, bg_color);
|
||||||
setPrintPos (2, 3);
|
setPrintPos (2, 3);
|
||||||
print(" ");
|
print(" ");
|
||||||
print(finalcut::FString(3, wchar_t(finalcut::fc::MediumShade)));
|
print(finalcut::FString(3, finalcut::fc::MediumShade));
|
||||||
|
|
||||||
if ( brush == L' ' )
|
if ( brush == L' ' )
|
||||||
pos = 0;
|
pos = 0;
|
||||||
|
@ -251,9 +251,9 @@ void Brushes::draw()
|
||||||
|
|
||||||
setColor();
|
setColor();
|
||||||
setPrintPos (3 + pos, 2);
|
setPrintPos (3 + pos, 2);
|
||||||
print(wchar_t(finalcut::fc::BlackDownPointingTriangle));
|
print(finalcut::fc::BlackDownPointingTriangle);
|
||||||
setPrintPos (3 + pos, 4);
|
setPrintPos (3 + pos, 4);
|
||||||
print(wchar_t(finalcut::fc::BlackUpPointingTriangle));
|
print(finalcut::fc::BlackUpPointingTriangle);
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
@ -272,7 +272,7 @@ void Brushes::onMouseDown (finalcut::FMouseEvent* ev)
|
||||||
}
|
}
|
||||||
else if ( mouse_x >= 5 && mouse_x <= 7 && mouse_y == 3 )
|
else if ( mouse_x >= 5 && mouse_x <= 7 && mouse_y == 3 )
|
||||||
{
|
{
|
||||||
brush = wchar_t(finalcut::fc::MediumShade);
|
brush = finalcut::fc::MediumShade;
|
||||||
redraw();
|
redraw();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -416,25 +416,25 @@ void MouseDraw::draw()
|
||||||
for (int y = 2; y < y_max; y++)
|
for (int y = 2; y < y_max; y++)
|
||||||
{
|
{
|
||||||
setPrintPos (10, y);
|
setPrintPos (10, y);
|
||||||
print (wchar_t(finalcut::fc::NF_rev_border_line_right));
|
print (finalcut::fc::NF_rev_border_line_right);
|
||||||
}
|
}
|
||||||
|
|
||||||
setPrintPos (10, y_max);
|
setPrintPos (10, y_max);
|
||||||
print (wchar_t(finalcut::fc::NF_rev_border_corner_lower_right));
|
print (finalcut::fc::NF_rev_border_corner_lower_right);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setPrintPos (10, 2);
|
setPrintPos (10, 2);
|
||||||
print (wchar_t(finalcut::fc::BoxDrawingsDownAndHorizontal));
|
print (finalcut::fc::BoxDrawingsDownAndHorizontal);
|
||||||
|
|
||||||
for (int y = 3; y < y_max; y++)
|
for (int y = 3; y < y_max; y++)
|
||||||
{
|
{
|
||||||
setPrintPos (10, y);
|
setPrintPos (10, y);
|
||||||
print (wchar_t(finalcut::fc::BoxDrawingsVertical));
|
print (finalcut::fc::BoxDrawingsVertical);
|
||||||
}
|
}
|
||||||
|
|
||||||
setPrintPos (10, y_max);
|
setPrintPos (10, y_max);
|
||||||
print (wchar_t(finalcut::fc::BoxDrawingsUpAndHorizontal));
|
print (finalcut::fc::BoxDrawingsUpAndHorizontal);
|
||||||
}
|
}
|
||||||
|
|
||||||
drawCanvas();
|
drawCanvas();
|
||||||
|
|
|
@ -103,7 +103,7 @@ void Transparent::draw()
|
||||||
else
|
else
|
||||||
setTransparent();
|
setTransparent();
|
||||||
|
|
||||||
finalcut::FString line(getClientWidth(), wchar_t('.'));
|
finalcut::FString line(getClientWidth(), '.');
|
||||||
|
|
||||||
for (int n = 1; n <= int(getClientHeight()); n++)
|
for (int n = 1; n <= int(getClientHeight()); n++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -770,7 +770,7 @@ void MyDialog::cb_noFunctionMsg (finalcut::FWidget* widget, data_ptr)
|
||||||
void MyDialog::cb_about (finalcut::FWidget*, data_ptr)
|
void MyDialog::cb_about (finalcut::FWidget*, data_ptr)
|
||||||
{
|
{
|
||||||
const char libver[] = F_VERSION;
|
const char libver[] = F_VERSION;
|
||||||
finalcut::FString line(2, wchar_t(finalcut::fc::BoxDrawingsHorizontal));
|
finalcut::FString line(2, finalcut::fc::BoxDrawingsHorizontal);
|
||||||
|
|
||||||
finalcut::FMessageBox info ( "About"
|
finalcut::FMessageBox info ( "About"
|
||||||
, line + L" The Final Cut " + line + "\n\n"
|
, line + L" The Final Cut " + line + "\n\n"
|
||||||
|
@ -793,7 +793,7 @@ void MyDialog::cb_terminfo (finalcut::FWidget*, data_ptr)
|
||||||
<< " Type: " << getTermType() << "\n"
|
<< " Type: " << getTermType() << "\n"
|
||||||
<< " Name: " << getTermFileName() << "\n"
|
<< " Name: " << getTermFileName() << "\n"
|
||||||
<< " Mode: " << getEncodingString() << "\n"
|
<< " Mode: " << getEncodingString() << "\n"
|
||||||
<< " Size: " << x << wchar_t(finalcut::fc::Times)
|
<< " Size: " << x << finalcut::fc::Times
|
||||||
<< y << "\n"
|
<< y << "\n"
|
||||||
<< "Colors: " << getMaxColor()
|
<< "Colors: " << getMaxColor()
|
||||||
, finalcut::FMessageBox::Ok, 0, 0, this
|
, finalcut::FMessageBox::Ok, 0, 0, this
|
||||||
|
|
|
@ -223,7 +223,7 @@ class Window : public finalcut::FDialog
|
||||||
|
|
||||||
// Data Members
|
// Data Members
|
||||||
std::vector<win_data*> windows{};
|
std::vector<win_data*> windows{};
|
||||||
finalcut::FString drop_down_symbol{wchar_t(finalcut::fc::BlackDownPointingTriangle)};
|
finalcut::FString drop_down_symbol{finalcut::fc::BlackDownPointingTriangle};
|
||||||
finalcut::FMenuBar Menubar{this};
|
finalcut::FMenuBar Menubar{this};
|
||||||
finalcut::FMenu File{"&File", &Menubar};
|
finalcut::FMenu File{"&File", &Menubar};
|
||||||
finalcut::FDialogListMenu DglList{drop_down_symbol, &Menubar};
|
finalcut::FDialogListMenu DglList{drop_down_symbol, &Menubar};
|
||||||
|
|
|
@ -69,6 +69,13 @@ FLabel& FLabel::operator << (const FString& s)
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLabel& FLabel::operator << (fc::SpecialCharacter c)
|
||||||
|
{
|
||||||
|
setText(text + static_cast<wchar_t>(c));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
FLabel& FLabel::operator << (const wchar_t c)
|
FLabel& FLabel::operator << (const wchar_t c)
|
||||||
{
|
{
|
||||||
|
|
|
@ -72,6 +72,13 @@ FLineEdit& FLineEdit::operator << (const FString& s)
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (fc::SpecialCharacter c)
|
||||||
|
{
|
||||||
|
setText(text + static_cast<wchar_t>(c));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
FLineEdit& FLineEdit::operator << (const wchar_t c)
|
FLineEdit& FLineEdit::operator << (const wchar_t c)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1768,7 +1768,7 @@ inline FString FListView::getCheckBox (const FListViewItem* item)
|
||||||
checkbox = L"[ ] ";
|
checkbox = L"[ ] ";
|
||||||
|
|
||||||
if ( item->isChecked() )
|
if ( item->isChecked() )
|
||||||
checkbox[1] = wchar_t(fc::Times); // Times ×
|
checkbox[1] = fc::Times; // Times ×
|
||||||
}
|
}
|
||||||
|
|
||||||
return checkbox;
|
return checkbox;
|
||||||
|
@ -1789,12 +1789,12 @@ inline FString FListView::getLinePrefix ( const FListViewItem* item
|
||||||
{
|
{
|
||||||
if ( item->isExpand() )
|
if ( item->isExpand() )
|
||||||
{
|
{
|
||||||
line += wchar_t(fc::BlackDownPointingTriangle); // ▼
|
line += fc::BlackDownPointingTriangle; // ▼
|
||||||
line += L' ';
|
line += L' ';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
line += wchar_t(fc::BlackRightPointingPointer); // ►
|
line += fc::BlackRightPointingPointer; // ►
|
||||||
line += L' ';
|
line += L' ';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1821,9 +1821,9 @@ inline void FListView::drawSortIndicator ( std::size_t& length
|
||||||
length++;
|
length++;
|
||||||
|
|
||||||
if ( sort_order == fc::ascending )
|
if ( sort_order == fc::ascending )
|
||||||
headerline << wchar_t(fc::BlackUpPointingTriangle); // ▲
|
headerline << fc::BlackUpPointingTriangle; // ▲
|
||||||
else if ( sort_order == fc::descending )
|
else if ( sort_order == fc::descending )
|
||||||
headerline << wchar_t(fc::BlackDownPointingTriangle); // ▼
|
headerline << fc::BlackDownPointingTriangle; // ▼
|
||||||
|
|
||||||
if ( length < column_width )
|
if ( length < column_width )
|
||||||
{
|
{
|
||||||
|
@ -1836,7 +1836,7 @@ inline void FListView::drawSortIndicator ( std::size_t& length
|
||||||
inline void FListView::drawHeaderBorder (std::size_t length)
|
inline void FListView::drawHeaderBorder (std::size_t length)
|
||||||
{
|
{
|
||||||
setColor();
|
setColor();
|
||||||
const FString line (length, wchar_t(fc::BoxDrawingsHorizontal));
|
const FString line (length, fc::BoxDrawingsHorizontal);
|
||||||
headerline << line; // horizontal line
|
headerline << line; // horizontal line
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1278,7 +1278,7 @@ inline void FMenu::drawSeparator (int y)
|
||||||
{
|
{
|
||||||
print (fc::NF_border_line_vertical_right);
|
print (fc::NF_border_line_vertical_right);
|
||||||
FString line ( std::size_t(getWidth()) - 2
|
FString line ( std::size_t(getWidth()) - 2
|
||||||
, wchar_t(fc::BoxDrawingsHorizontal) );
|
, fc::BoxDrawingsHorizontal );
|
||||||
print (line);
|
print (line);
|
||||||
print (fc::NF_rev_border_line_vertical_left);
|
print (fc::NF_rev_border_line_vertical_left);
|
||||||
}
|
}
|
||||||
|
@ -1286,7 +1286,7 @@ inline void FMenu::drawSeparator (int y)
|
||||||
{
|
{
|
||||||
print (fc::BoxDrawingsVerticalAndRight);
|
print (fc::BoxDrawingsVerticalAndRight);
|
||||||
FString line ( std::size_t(getWidth()) - 2
|
FString line ( std::size_t(getWidth()) - 2
|
||||||
, wchar_t(fc::BoxDrawingsHorizontal));
|
, fc::BoxDrawingsHorizontal);
|
||||||
print (line);
|
print (line);
|
||||||
print (fc::BoxDrawingsVerticalAndLeft);
|
print (fc::BoxDrawingsVerticalAndLeft);
|
||||||
}
|
}
|
||||||
|
@ -1447,9 +1447,9 @@ inline void FMenu::drawSubMenuIndicator (std::size_t& startpos)
|
||||||
if ( len > 0 )
|
if ( len > 0 )
|
||||||
{
|
{
|
||||||
// Print filling blank spaces
|
// Print filling blank spaces
|
||||||
print (FString(len, wchar_t(' ')));
|
print (FString(len, L' '));
|
||||||
// Print BlackRightPointingPointer ►
|
// Print BlackRightPointingPointer ►
|
||||||
print (wchar_t(fc::BlackRightPointingPointer));
|
print (fc::BlackRightPointingPointer);
|
||||||
startpos = max_item_width - (c + 2);
|
startpos = max_item_width - (c + 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1465,7 +1465,7 @@ inline void FMenu::drawAcceleratorKey (std::size_t& startpos, FKey accel_key)
|
||||||
if ( len > 0 )
|
if ( len > 0 )
|
||||||
{
|
{
|
||||||
// Print filling blank spaces + accelerator key name
|
// Print filling blank spaces + accelerator key name
|
||||||
FString spaces (len, wchar_t(' '));
|
FString spaces (len, L' ');
|
||||||
print (spaces + accel_name);
|
print (spaces + accel_name);
|
||||||
startpos = max_item_width - (c + 2);
|
startpos = max_item_width - (c + 2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,20 +62,6 @@ FString::FString (std::size_t len, wchar_t c)
|
||||||
*--pe = c;
|
*--pe = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
FString::FString (std::size_t len, char c)
|
|
||||||
{
|
|
||||||
wchar_t* ps;
|
|
||||||
wchar_t* pe;
|
|
||||||
|
|
||||||
initLength(len);
|
|
||||||
ps = string;
|
|
||||||
pe = string + len;
|
|
||||||
|
|
||||||
while ( pe != ps )
|
|
||||||
*--pe = wchar_t(c);
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
FString::FString (const FString& s) // copy constructor
|
FString::FString (const FString& s) // copy constructor
|
||||||
{
|
{
|
||||||
|
@ -119,6 +105,18 @@ FString::FString (const char s[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FString::FString (fc::SpecialCharacter c)
|
||||||
|
{
|
||||||
|
if ( c )
|
||||||
|
{
|
||||||
|
wchar_t s[2];
|
||||||
|
s[0] = static_cast<wchar_t>(c);
|
||||||
|
s[1] = L'\0';
|
||||||
|
_assign (s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
FString::FString (const wchar_t c)
|
FString::FString (const wchar_t c)
|
||||||
{
|
{
|
||||||
|
@ -207,6 +205,14 @@ FString& FString::operator << (const FString& s)
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FString& FString::operator << (fc::SpecialCharacter c)
|
||||||
|
{
|
||||||
|
FString s(static_cast<wchar_t>(c));
|
||||||
|
_insert (length, s.length, s.string);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
FString& FString::operator << (const wchar_t c)
|
FString& FString::operator << (const wchar_t c)
|
||||||
{
|
{
|
||||||
|
|
|
@ -451,7 +451,7 @@ int FVTerm::print (term_area* area, const std::vector<charData>& term_string)
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
int FVTerm::print (int c)
|
int FVTerm::print (wchar_t c)
|
||||||
{
|
{
|
||||||
term_area* area = getPrintArea();
|
term_area* area = getPrintArea();
|
||||||
|
|
||||||
|
@ -467,14 +467,14 @@ int FVTerm::print (int c)
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
int FVTerm::print (term_area* area, int c)
|
int FVTerm::print (term_area* area, wchar_t c)
|
||||||
{
|
{
|
||||||
charData nc; // next character
|
charData nc; // next character
|
||||||
|
|
||||||
if ( ! area )
|
if ( ! area )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
nc.code = c;
|
nc.code = wchar_t(c);
|
||||||
nc.fg_color = next_attribute.fg_color;
|
nc.fg_color = next_attribute.fg_color;
|
||||||
nc.bg_color = next_attribute.bg_color;
|
nc.bg_color = next_attribute.bg_color;
|
||||||
nc.attr.byte[0] = next_attribute.attr.byte[0];
|
nc.attr.byte[0] = next_attribute.attr.byte[0];
|
||||||
|
|
|
@ -82,6 +82,7 @@ class FLabel : public FWidget
|
||||||
// Overloaded operators
|
// Overloaded operators
|
||||||
FLabel& operator = (const FString&);
|
FLabel& operator = (const FString&);
|
||||||
FLabel& operator << (const FString&);
|
FLabel& operator << (const FString&);
|
||||||
|
FLabel& operator << (fc::SpecialCharacter);
|
||||||
FLabel& operator << (const wchar_t);
|
FLabel& operator << (const wchar_t);
|
||||||
FLabel& operator << (const uInt);
|
FLabel& operator << (const uInt);
|
||||||
FLabel& operator << (const int);
|
FLabel& operator << (const int);
|
||||||
|
|
|
@ -85,6 +85,7 @@ class FLineEdit : public FWidget
|
||||||
// Overloaded operators
|
// Overloaded operators
|
||||||
FLineEdit& operator = (const FString&);
|
FLineEdit& operator = (const FString&);
|
||||||
FLineEdit& operator << (const FString&);
|
FLineEdit& operator << (const FString&);
|
||||||
|
FLineEdit& operator << (fc::SpecialCharacter);
|
||||||
FLineEdit& operator << (const wchar_t);
|
FLineEdit& operator << (const wchar_t);
|
||||||
FLineEdit& operator << (const uInt);
|
FLineEdit& operator << (const uInt);
|
||||||
FLineEdit& operator << (const int);
|
FLineEdit& operator << (const int);
|
||||||
|
|
|
@ -77,7 +77,7 @@ class FOptiAttr
|
||||||
// Typedefs
|
// Typedefs
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
int code; // character code
|
wchar_t code; // character code
|
||||||
FColor fg_color; // foreground color
|
FColor fg_color; // foreground color
|
||||||
FColor bg_color; // background color
|
FColor bg_color; // background color
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "final/fc.h"
|
||||||
#include "final/ftypes.h"
|
#include "final/ftypes.h"
|
||||||
|
|
||||||
namespace finalcut
|
namespace finalcut
|
||||||
|
@ -86,12 +87,12 @@ class FString
|
||||||
explicit FString (int);
|
explicit FString (int);
|
||||||
explicit FString (std::size_t);
|
explicit FString (std::size_t);
|
||||||
FString (std::size_t, wchar_t);
|
FString (std::size_t, wchar_t);
|
||||||
FString (std::size_t, char);
|
|
||||||
FString (const FString&); // implicit conversion copy constructor
|
FString (const FString&); // implicit conversion copy constructor
|
||||||
FString (const std::wstring&); // implicit conversion constructor
|
FString (const std::wstring&); // implicit conversion constructor
|
||||||
FString (const wchar_t[]); // implicit conversion constructor
|
FString (const wchar_t[]); // implicit conversion constructor
|
||||||
FString (const std::string&); // implicit conversion constructor
|
FString (const std::string&); // implicit conversion constructor
|
||||||
FString (const char[]); // implicit conversion constructor
|
FString (const char[]); // implicit conversion constructor
|
||||||
|
FString (fc::SpecialCharacter); // implicit conversion constructor
|
||||||
FString (const wchar_t); // implicit conversion constructor
|
FString (const wchar_t); // implicit conversion constructor
|
||||||
FString (const char); // implicit conversion constructor
|
FString (const char); // implicit conversion constructor
|
||||||
|
|
||||||
|
@ -108,6 +109,7 @@ class FString
|
||||||
const FString operator + (const char);
|
const FString operator + (const char);
|
||||||
|
|
||||||
FString& operator << (const FString&);
|
FString& operator << (const FString&);
|
||||||
|
FString& operator << (fc::SpecialCharacter);
|
||||||
FString& operator << (const wchar_t);
|
FString& operator << (const wchar_t);
|
||||||
FString& operator << (const char);
|
FString& operator << (const char);
|
||||||
FString& operator << (const sInt16);
|
FString& operator << (const sInt16);
|
||||||
|
|
|
@ -579,4 +579,24 @@ inline void FTerm::changeTermSizeFinished()
|
||||||
|
|
||||||
} // namespace finalcut
|
} // namespace finalcut
|
||||||
|
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
inline std::ostream& operator << ( std::ostream& os
|
||||||
|
, finalcut::fc::SpecialCharacter c )
|
||||||
|
{
|
||||||
|
return os << static_cast<char>(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
inline std::wostream& operator << ( std::wostream& os
|
||||||
|
, finalcut::fc::SpecialCharacter c )
|
||||||
|
{
|
||||||
|
return os << static_cast<wchar_t>(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
#endif // FTERM_H
|
#endif // FTERM_H
|
||||||
|
|
|
@ -287,8 +287,8 @@ class FVTerm
|
||||||
int print (term_area*, const FString&);
|
int print (term_area*, const FString&);
|
||||||
int print (const std::vector<charData>&);
|
int print (const std::vector<charData>&);
|
||||||
int print (term_area*, const std::vector<charData>&);
|
int print (term_area*, const std::vector<charData>&);
|
||||||
int print (int);
|
int print (wchar_t);
|
||||||
int print (term_area*, int);
|
int print (term_area*, wchar_t);
|
||||||
int print (charData&);
|
int print (charData&);
|
||||||
int print (term_area*, charData&);
|
int print (term_area*, charData&);
|
||||||
FVTerm& print();
|
FVTerm& print();
|
||||||
|
|
|
@ -823,6 +823,10 @@ void FStringTest::streamInsertionTest()
|
||||||
out << const_cast<char*>("ABC");
|
out << const_cast<char*>("ABC");
|
||||||
CPPUNIT_ASSERT ( out == L"ABC" );
|
CPPUNIT_ASSERT ( out == L"ABC" );
|
||||||
|
|
||||||
|
out.clear();
|
||||||
|
out << finalcut::fc::Euro;
|
||||||
|
CPPUNIT_ASSERT ( out == L"€" );
|
||||||
|
|
||||||
out.clear();
|
out.clear();
|
||||||
out << wchar_t(L'A');
|
out << wchar_t(L'A');
|
||||||
CPPUNIT_ASSERT ( out == L"A" );
|
CPPUNIT_ASSERT ( out == L"A" );
|
||||||
|
|
Loading…
Reference in New Issue