All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Signals | Public Member Functions
QGpGuiTools::ColumnTextWidget Class Reference

Brief description of class still missing. More...

#include <ColumnTextWidget.h>

List of all members.

Signals

void typeChanged ()

Public Member Functions

 ColumnTextWidget (QWidget *parent=0)
void parse (bool ignoreParserFile)
const ColumnTextParserparser () const
ColumnTextParserparser ()
void restoreParserSettings (QString keyName)
void saveParserSettings (QString keyName)
bool setBuffer (const QString &str)
bool setFile (const QString &fileName)
void setParserFile (const QString &p)
void setStandardTypes (const QStringList &t)
void setTypes (const QVector< int > &t)
 ~ColumnTextWidget ()

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

Description of constructor still missing

References QGpGuiTools::ColumnTextItem::setParser(), QGpGuiTools::ColumnTextDelegate::setTypes(), QGpCoreTools::ColumnTextParser::standardTypes(), TRACE, and typeChanged().

    : QWidget(parent)
{
  TRACE;
  setupUi(this);

  _parser=new ColumnTextParser(this);
  _file=0;
  _buffer=0;

  ColumnTextItem * itemModel=new ColumnTextItem(this);
  itemModel->setParser(_parser);
  connect(itemModel, SIGNAL(typeChanged()), this, SIGNAL(typeChanged()));
  fileView->setModel(itemModel);
  ColumnTextDelegate * itemDelegate=new ColumnTextDelegate(this);
  itemDelegate->setTypes(_parser->standardTypes());
  fileView->setItemDelegate(itemDelegate);
  fileView->setSelectionMode(QAbstractItemView::SingleSelection);
  fileView->setEditTriggers(QAbstractItemView::AllEditTriggers);

  connect(_parser, SIGNAL(dataAvailable()), this, SLOT(restoreColumnWidths()));
}

Description of destructor still missing

References QGpGuiTools::Settings::setColumnWidth(), and TRACE.

{
  TRACE;
  delete _file;
  delete _buffer;
  if(!_parserFile.isEmpty()) {
    QFileInfo fi(_parserFile);
    Settings::setColumnWidth(fileView, "ColumnTextParsers/"+fi.baseName());
  }
}

Member Function Documentation

void QGpGuiTools::ColumnTextWidget::parse ( bool  ignoreParserFile)

Forces file parsing. Must be called before first show and after setting all parameters.

References setParserFile(), QGpCoreTools::ColumnTextParser::startUpdates(), QGpCoreTools::ColumnTextParser::stopUpdates(), and TRACE.

Referenced by SciFigs::CurveBrowser::loadMultiColumns().

{
  TRACE;
  QString pn=parserName->currentText();
  if(pn.isEmpty() || ignoreParserFile) {
    _parser->stopUpdates();
    _parser->startUpdates();
  } else {
    setParserFile(pn);
  }
}

Referenced by SciFigs::CurveBrowser::loadMultiColumns().

{return _parser;}
{return _parser;}

References QGpGuiTools::Settings::getHistory().

Referenced by SciFigs::CurveBrowser::loadMultiColumns().

{
  parserName->addItem(QString::null);
  parserName->addItems(Settings::getHistory("ColumnTextParsers/"+keyName));
}

References QGpGuiTools::Settings::setHistory().

Referenced by SciFigs::CurveBrowser::loadMultiColumns().

{
  Settings::setHistory("ColumnTextParsers/"+keyName, _parserFile);
}
bool QGpGuiTools::ColumnTextWidget::setBuffer ( const QString &  str)

Sets buffer to parse.

See also:
setFile()

References QGpCoreTools::ColumnTextParser::setText(), and TRACE.

{
  TRACE;
  delete _buffer;
  _buffer=new QString(str);
  _parser->setText(new QTextStream(_buffer));
  return true;
}
bool QGpGuiTools::ColumnTextWidget::setFile ( const QString &  fileName)

Sets file to parse.

See also:
setBuffer()

References QGpCoreTools::endl(), QGpCoreTools::ColumnTextParser::setText(), QGpCoreTools::tr(), and TRACE.

Referenced by SciFigs::CurveBrowser::loadMultiColumns().

{
  TRACE;
  delete _file;
  _file=new QFile(fileName);
  if( !_file->open(QIODevice::ReadOnly)) {
    App::stream() << tr("Cannot read file %1").arg(fileName) << endl;
    delete _file;
    _file=0;
    return false;
  }
  _parser->setText(new QTextStream(_file));
  return true;
}
void QGpGuiTools::ColumnTextWidget::setParserFile ( const QString &  p)

References QGpGuiTools::Settings::setHistory(), QGpCoreTools::ColumnTextParser::startUpdates(), QGpCoreTools::ColumnTextParser::stopUpdates(), TRACE, typeChanged(), and QGpCoreTools::XMLHeader::xml_restoreFile().

Referenced by parse().

{
  TRACE;
  if(!p.isEmpty()) {
    _parser->stopUpdates();
    XMLHeader hdr(_parser);
    if(hdr.xml_restoreFile(p)==XMLClass::NoError) {
      if(_parserFile!=p) {
        _parserFile=p;
        QFileInfo fi(_parserFile);
        _restoreColumnWidth="ColumnTextParsers/"+fi.baseName();
        parserName->setEditText(_parserFile);
        Settings::setHistory("ColumnTextWidget/parserName", _parserFile);
      }
    }
    emit typeChanged();
    _parser->startUpdates();
  }
}
void QGpGuiTools::ColumnTextWidget::setStandardTypes ( const QStringList &  t)

References QGpCoreTools::ColumnTextParser::setStandardTypes(), setTypes(), QGpCoreTools::ColumnTextParser::standardTypes(), and TRACE.

Referenced by SciFigs::CurveBrowser::loadMultiColumns().

{
  TRACE;
  _parser->setStandardTypes(t);
  static_cast<ColumnTextDelegate *>(fileView->itemDelegate())->setTypes(_parser->standardTypes());
}

References QGpCoreTools::ColumnTextParser::setType(), and TRACE.

Referenced by SciFigs::CurveBrowser::loadMultiColumns(), and setStandardTypes().

{
  TRACE;
  int n=t.count();
  for(int i=0;i<n;i++) {
    _parser->setType(i, t[i]);
  }
}

Referenced by ColumnTextWidget(), and setParserFile().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines