Source Code (Use browser search to find items of interest.)
Class Index
khexedit'CInsertDialog (./kdeutils/khexedit/dialog.h:297)
class CInsertDialog : public KDialogBase
{
Q_OBJECT
public:
CInsertDialog( QWidget *parent=0, const char *name=0, bool modal=false );
~CInsertDialog( void );
protected:
virtual void showEvent( QShowEvent *e );
private slots:
void slotOk( void );
void cursorCheck( void );
void patternSelectorChanged( int index );
void patternInputChanged( const QString &text );
signals:
void execute( SInsertData &id );
private:
QSpinBox *mSizeBox;
QLabel *mOffsetLabel;
QComboBox *mPatternSelector;
QLineEdit *mPatternInput;
QLineEdit *mOffsetInput;
QCheckBox *mCheckPattern;
QCheckBox *mCheckOnCursor;
QString mPatternString[4];
QByteArray mPatternData;
CHexValidator *mPatternValidator;
};
khexedit'CInsertDialog::CInsertDialog() (./kdeutils/khexedit/dialog.cc:1046)
CInsertDialog::CInsertDialog( QWidget *parent, const char *name, bool modal )
:KDialogBase( Plain, i18n("Insert Pattern"), Ok|Cancel, Ok,
parent, name, modal )
{
QString text;
QVBoxLayout *topLayout = new QVBoxLayout( plainPage(), 0, spacingHint() );
if( topLayout == 0 ) { return; }
QVBoxLayout *vbox = new QVBoxLayout();
if( vbox == 0 ) { return; }
topLayout->addLayout( vbox );
mSizeBox = new QSpinBox( plainPage() );
if( mSizeBox == 0 ) { return; }
mSizeBox->setMinimumWidth( fontMetrics().maxWidth()*17 );
mSizeBox->setRange( 1, MAXINT );
mSizeBox->setValue( 1 );
QLabel *label = new QLabel( mSizeBox, i18n("&Size"), plainPage() );
if( label == 0 ) { return; }
vbox->addWidget( label );
vbox->addWidget( mSizeBox );
mPatternSelector = new QComboBox( false, plainPage() );
if( mPatternSelector == 0 ) { return; }
mPatternSelector->setMinimumWidth( fontMetrics().maxWidth()*17 );
mPatternSelector->insertStringList( formatStrings() );
connect( mPatternSelector, SIGNAL(activated(int)),
SLOT(patternSelectorChanged(int)) );
text = i18n("Fo&rmat (pattern)");
label = new QLabel( mPatternSelector, text, plainPage() );
if( label == 0 ) { return; }
vbox->addWidget( label );
vbox->addWidget( mPatternSelector );
mPatternInput = new QLineEdit( plainPage() );
if( mPatternInput == 0 ) { return; }
mPatternInput->setMinimumWidth( fontMetrics().maxWidth()*17 );
mPatternValidator = new CHexValidator( this, CHexValidator::regularText );
if( mPatternValidator == 0 ) { return; }
mPatternInput->setValidator( mPatternValidator );
connect( mPatternInput, SIGNAL(textChanged(const QString&)),
SLOT(patternInputChanged(const QString&)) );
label = new QLabel( mPatternInput, i18n("&Pattern"), plainPage() );
if( label == 0 ) { return; }
vbox->addWidget( label );
vbox->addWidget( mPatternInput );
mOffsetInput = new QLineEdit( plainPage() );
mOffsetInput->setMinimumWidth( fontMetrics().maxWidth()*17 );
mOffsetLabel = new QLabel( mOffsetInput, i18n("&Offset"), plainPage() );
if( mOffsetLabel == 0 ) { return; }
vbox->addWidget( mOffsetLabel );
vbox->addWidget( mOffsetInput );
QButtonGroup *group = new QButtonGroup( i18n("Options"), plainPage() );
if( group == 0 ) { return; }
topLayout->addWidget( group, 10 );
QGridLayout *gbox = new QGridLayout( group, 4, 2, spacingHint() );
if( gbox == 0 ) { return; }
gbox->addRowSpacing( 0, fontMetrics().lineSpacing() );
mCheckPattern = new QCheckBox( i18n("R&epeat pattern"), group );
gbox->addWidget( mCheckPattern, 1, 0 );
mCheckOnCursor = new QCheckBox( i18n("&Insert on cursor position"), group );
gbox->addWidget( mCheckOnCursor, 2, 0 );
connect( mCheckOnCursor, SIGNAL(clicked()), SLOT(cursorCheck()) );
gbox->setRowStretch( 3, 10 );
}
khexedit'CInsertDialog::~CInsertDialog() (./kdeutils/khexedit/dialog.cc:1127)
CInsertDialog::~CInsertDialog( void )
{
delete mPatternValidator;
}
khexedit'CInsertDialog::showEvent() (./kdeutils/khexedit/dialog.cc:1133)
void CInsertDialog::showEvent( QShowEvent *e )
{
KDialogBase::showEvent(e);
mPatternInput->setFocus();
}
khexedit'CInsertDialog::patternSelectorChanged() (./kdeutils/khexedit/dialog.cc:1140)
void CInsertDialog::patternSelectorChanged( int index )
{
mPatternValidator->setState( (CHexValidator::EState)index );
mPatternInput->setText( mPatternString[ index ] );
}
khexedit'CInsertDialog::patternInputChanged() (./kdeutils/khexedit/dialog.cc:1147)
void CInsertDialog::patternInputChanged( const QString &text )
{
mPatternString[ mPatternSelector->currentItem() ] = text;
mPatternValidator->convert( mPatternData,
mPatternString[ mPatternSelector->currentItem() ] );
}
khexedit'CInsertDialog::slotOk() (./kdeutils/khexedit/dialog.cc:1155)
void CInsertDialog::slotOk( void )
{
if( mPatternData.isEmpty() == true )
{
showEntryFailure( this, QString("") );
return;
}
SInsertData id;
id.size = mSizeBox->value();
id.repeatPattern = mCheckPattern->isChecked();
id.onCursor = mCheckOnCursor->isChecked();
id.pattern = mPatternData;
if( id.onCursor == false )
{
bool success = stringToOffset( mOffsetInput->text(), id.offset );
if( success == false )
{
showEntryFailure( this, QString("") );
return;
}
}
hide();
execute( id );
}
khexedit'CInsertDialog::cursorCheck() (./kdeutils/khexedit/dialog.cc:1184)
void CInsertDialog::cursorCheck( void )
{
bool state = mCheckOnCursor->isChecked() == true ? false : true;
mOffsetLabel->setEnabled( state );
mOffsetInput->setEnabled( state );
}