Stream and assignment operator support for FLineEdit
This commit is contained in:
parent
b3e9a0bba1
commit
b9f6a6bee6
|
@ -1,7 +1,8 @@
|
||||||
2017-09-20 Markus Gans <guru.mail@muenster.de>
|
2017-09-21 Markus Gans <guru.mail@muenster.de>
|
||||||
* New data type FStringList introduced
|
* New data type FStringList introduced
|
||||||
|
* Stream and assignment operator support for FLineEdit
|
||||||
|
|
||||||
2017-09-19 Markus Gans <guru.mail@muenster.de>
|
2017-09-20 Markus Gans <guru.mail@muenster.de>
|
||||||
* FString has now got its own streaming functionality for
|
* FString has now got its own streaming functionality for
|
||||||
inbound and outbound type conversion
|
inbound and outbound type conversion
|
||||||
* Added stream and assignment operator support for FLabel
|
* Added stream and assignment operator support for FLabel
|
||||||
|
|
|
@ -480,9 +480,9 @@ MyDialog::MyDialog (FWidget* parent)
|
||||||
// A text input field
|
// A text input field
|
||||||
myLineEdit = new FLineEdit (this);
|
myLineEdit = new FLineEdit (this);
|
||||||
myLineEdit->setGeometry(22, 1, 10, 1);
|
myLineEdit->setGeometry(22, 1, 10, 1);
|
||||||
myLineEdit->setText (FString("EnTry").toLower());
|
|
||||||
myLineEdit->setLabelText (L"&Input");
|
myLineEdit->setLabelText (L"&Input");
|
||||||
myLineEdit->setStatusbarMessage ("Press Enter to set the title");
|
myLineEdit->setStatusbarMessage ("Press Enter to set the title");
|
||||||
|
*myLineEdit << FString("EnTry").toLower();
|
||||||
|
|
||||||
// Buttons
|
// Buttons
|
||||||
FButton* MyButton4 = new FButton (this);
|
FButton* MyButton4 = new FButton (this);
|
||||||
|
@ -759,7 +759,7 @@ void MyDialog::cb_cutClipboard (FWidget*, data_ptr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
clipboard = myLineEdit->getText();
|
clipboard = myLineEdit->getText();
|
||||||
myLineEdit->clearText();
|
myLineEdit->clear();
|
||||||
myLineEdit->redraw();
|
myLineEdit->redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -778,7 +778,7 @@ void MyDialog::cb_pasteClipboard (FWidget*, data_ptr)
|
||||||
if ( ! myLineEdit )
|
if ( ! myLineEdit )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
myLineEdit->setText(clipboard);
|
*myLineEdit = clipboard;
|
||||||
myLineEdit->redraw();
|
myLineEdit->redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -789,7 +789,7 @@ void MyDialog::cb_clearInput (FWidget*, data_ptr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
clipboard.clear();
|
clipboard.clear();
|
||||||
myLineEdit->clearText();
|
myLineEdit->clear();
|
||||||
myLineEdit->redraw();
|
myLineEdit->redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -806,8 +806,10 @@ void MyDialog::cb_input2buttonText (FWidget* widget, data_ptr data)
|
||||||
void MyDialog::cb_setTitlebar (FWidget* widget, data_ptr)
|
void MyDialog::cb_setTitlebar (FWidget* widget, data_ptr)
|
||||||
{
|
{
|
||||||
FLineEdit* lineedit = static_cast<FLineEdit*>(widget);
|
FLineEdit* lineedit = static_cast<FLineEdit*>(widget);
|
||||||
lineedit->setXTermTitle(lineedit->getText());
|
FString title;
|
||||||
setText(lineedit->getText());
|
*lineedit >> title;
|
||||||
|
setXTermTitle(title);;
|
||||||
|
setText(title);
|
||||||
redraw();
|
redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -893,7 +895,7 @@ void MyDialog::cb_setInput (FWidget* widget, data_ptr data)
|
||||||
{
|
{
|
||||||
FListBox* ListBox = static_cast<FListBox*>(widget);
|
FListBox* ListBox = static_cast<FListBox*>(widget);
|
||||||
FLineEdit* lineedit = static_cast<FLineEdit*>(data);
|
FLineEdit* lineedit = static_cast<FLineEdit*>(data);
|
||||||
lineedit->setText( ListBox->getItem(ListBox->currentItem()).getText() );
|
*lineedit = ListBox->getItem(ListBox->currentItem()).getText();
|
||||||
lineedit->redraw();
|
lineedit->redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,19 @@ class FLineEdit : public FWidget
|
||||||
// Destructor
|
// Destructor
|
||||||
virtual ~FLineEdit();
|
virtual ~FLineEdit();
|
||||||
|
|
||||||
|
// Overloaded operators
|
||||||
|
FLineEdit& operator = (const FString&);
|
||||||
|
FLineEdit& operator << (const FString&);
|
||||||
|
FLineEdit& operator << (const wchar_t);
|
||||||
|
FLineEdit& operator << (const uInt);
|
||||||
|
FLineEdit& operator << (const int);
|
||||||
|
FLineEdit& operator << (const uLong);
|
||||||
|
FLineEdit& operator << (const long);
|
||||||
|
FLineEdit& operator << (const float);
|
||||||
|
FLineEdit& operator << (const double);
|
||||||
|
FLineEdit& operator << (const lDouble);
|
||||||
|
const FLineEdit& operator >> (FString&);
|
||||||
|
|
||||||
// Accessors
|
// Accessors
|
||||||
const char* getClassName() const;
|
const char* getClassName() const;
|
||||||
FString getText() const;
|
FString getText() const;
|
||||||
|
@ -81,7 +94,7 @@ class FLineEdit : public FWidget
|
||||||
|
|
||||||
// Methods
|
// Methods
|
||||||
void hide();
|
void hide();
|
||||||
void clearText();
|
void clear();
|
||||||
|
|
||||||
// Event handlers
|
// Event handlers
|
||||||
void onKeyPress (FKeyEvent*);
|
void onKeyPress (FKeyEvent*);
|
||||||
|
|
|
@ -66,6 +66,9 @@ class FListBoxItem
|
||||||
void setText (const FString&);
|
void setText (const FString&);
|
||||||
void setData (FWidget::data_ptr);
|
void setData (FWidget::data_ptr);
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
void clear();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Friend classes
|
// Friend classes
|
||||||
friend class FListBox;
|
friend class FListBox;
|
||||||
|
@ -96,6 +99,10 @@ inline void FListBoxItem::setText (const FString& txt)
|
||||||
inline void FListBoxItem::setData (FWidget::data_ptr data)
|
inline void FListBoxItem::setData (FWidget::data_ptr data)
|
||||||
{ data_pointer = data; }
|
{ data_pointer = data; }
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
inline void FListBoxItem::clear()
|
||||||
|
{ text.clear(); }
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// class FListBox
|
// class FListBox
|
||||||
|
|
|
@ -342,32 +342,4 @@ inline FObject::FObjectIterator FListView::index2iterator (int index)
|
||||||
return iter;
|
return iter;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
|
||||||
inline void FListView::nextElement (FObjectIterator& iter)
|
|
||||||
{
|
|
||||||
FListViewItem* item = static_cast<FListViewItem*>(*iter);
|
|
||||||
|
|
||||||
if ( item->isExpandable() && item->isExpand() )
|
|
||||||
{
|
|
||||||
iter_path.push(iter);
|
|
||||||
iter = item->begin();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
++iter;
|
|
||||||
|
|
||||||
if ( ! iter_path.empty() )
|
|
||||||
{
|
|
||||||
FObjectIterator& parent_iter = iter_path.top();
|
|
||||||
|
|
||||||
if ( iter == (*parent_iter)->end() )
|
|
||||||
{
|
|
||||||
iter = parent_iter;
|
|
||||||
iter_path.pop();
|
|
||||||
++iter;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // FLISTVIEW_H
|
#endif // FLISTVIEW_H
|
||||||
|
|
|
@ -53,6 +53,98 @@ FLineEdit::~FLineEdit() // destructor
|
||||||
setInsertCursorStyle();
|
setInsertCursorStyle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FLineEdit operators
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator = (const FString& s)
|
||||||
|
{
|
||||||
|
setText(s);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (const FString& s)
|
||||||
|
{
|
||||||
|
setText(text + s);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (const wchar_t c)
|
||||||
|
{
|
||||||
|
setText(text + c);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (const uInt num)
|
||||||
|
{
|
||||||
|
FString num_str;
|
||||||
|
num_str << num;
|
||||||
|
setText(text + num_str);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (const int num)
|
||||||
|
{
|
||||||
|
FString num_str;
|
||||||
|
num_str << num;
|
||||||
|
setText(text + num_str);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (const uLong num)
|
||||||
|
{
|
||||||
|
FString num_str;
|
||||||
|
num_str << num;
|
||||||
|
setText(text + num_str);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (const long num)
|
||||||
|
{
|
||||||
|
FString num_str;
|
||||||
|
num_str << num;
|
||||||
|
setText(text + num_str);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (const float num)
|
||||||
|
{
|
||||||
|
FString num_str;
|
||||||
|
num_str << num;
|
||||||
|
setText(text + num_str);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (const double num)
|
||||||
|
{
|
||||||
|
FString num_str;
|
||||||
|
num_str << num;
|
||||||
|
setText(text + num_str);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
FLineEdit& FLineEdit::operator << (const lDouble num)
|
||||||
|
{
|
||||||
|
FString num_str;
|
||||||
|
num_str << num;
|
||||||
|
setText(text + num_str);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
const FLineEdit& FLineEdit::operator >> (FString& s)
|
||||||
|
{
|
||||||
|
s += text;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// public methods of FLineEdit
|
// public methods of FLineEdit
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
@ -219,7 +311,7 @@ void FLineEdit::hide()
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void FLineEdit::clearText()
|
void FLineEdit::clear()
|
||||||
{
|
{
|
||||||
text_offset = 0;
|
text_offset = 0;
|
||||||
cursor_pos = 0;
|
cursor_pos = 0;
|
||||||
|
|
|
@ -1483,6 +1483,34 @@ void FListView::processChanged()
|
||||||
emitCallback("row-changed");
|
emitCallback("row-changed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
void FListView::nextElement (FObjectIterator& iter)
|
||||||
|
{
|
||||||
|
FListViewItem* item = static_cast<FListViewItem*>(*iter);
|
||||||
|
|
||||||
|
if ( item->isExpandable() && item->isExpand() )
|
||||||
|
{
|
||||||
|
iter_path.push(iter);
|
||||||
|
iter = item->begin();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
++iter;
|
||||||
|
|
||||||
|
if ( ! iter_path.empty() )
|
||||||
|
{
|
||||||
|
FObjectIterator& parent_iter = iter_path.top();
|
||||||
|
|
||||||
|
if ( iter == (*parent_iter)->end() )
|
||||||
|
{
|
||||||
|
iter = parent_iter;
|
||||||
|
iter_path.pop();
|
||||||
|
++iter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void FListView::cb_VBarChange (FWidget*, data_ptr)
|
void FListView::cb_VBarChange (FWidget*, data_ptr)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue