bool fromString(const QString & szValue, QFont & buffer)
	{
		KviCString str = szValue;
		KviCString family, pointSize, styleHint, weight, options;
		str.getToken(family, ',');
		str.getToken(pointSize, ',');
		str.getToken(styleHint, ',');
		str.getToken(weight, ',');
		if(!family.isEmpty())
			buffer.setFamily(family.ptr());
		int i;
		bool bOk;
		i = pointSize.toInt(&bOk);
		if(bOk && (i > 0))
			buffer.setPointSize(i);
		i = styleHint.toInt(&bOk);
		if(bOk && (i >= 0))
			buffer.setStyleHint((QFont::StyleHint)i);
		i = weight.toInt(&bOk);
		if(bOk && (i >= 0))
			buffer.setWeight(i);

		buffer.setBold(str.contains("b"));
		buffer.setItalic(str.contains("i"));
		buffer.setUnderline(str.contains("u"));
		buffer.setStrikeOut(str.contains("s"));
		buffer.setFixedPitch(str.contains("f"));
		return true;
	}
Exemple #2
0
void EditorWindow::setup_text_editor(){
    QFont font;
    font.setFamily("Courier");
    font.setStyleHint(QFont::Monospace);
    font.setFixedPitch(true);
    font.setPointSize(10);

    ui->textEdit->setFont(font);
    QFontMetrics metrics(font);
    ui->textEdit->setTabStopWidth(6 * metrics.width(' '));

    QBrush *brush = new QBrush();
    brush->setStyle(Qt::SolidPattern);
    brush->setColor(QColor(238, 238, 238));

    QTextEdit::ExtraSelection highlight;
    highlight.cursor = ui->textEdit->textCursor();
    highlight.format.setProperty(QTextFormat::FullWidthSelection, true);
    highlight.format.setBackground( *brush );

    QList<QTextEdit::ExtraSelection> extras;
    extras << highlight;
    ui->textEdit->setExtraSelections( extras );

    new mips_highlighter(ui->textEdit->document());
}
Exemple #3
0
BottomBar::BottomBar(QWidget *parent) :
    QTabWidget(parent)
{
	this->parent = (MainWindow*)parent;

    //console
    textArea = new QTextEdit();
	QFont font;
	font.setFamily("Courier");
	font.setStyleHint(QFont::Monospace);
	font.setFixedPitch(true);
	font.setPointSize(10);
	textArea->setFont(font);
	textArea->setReadOnly(true);
    this->addTab(textArea, "Console");

    //errorlist
    errorList = new QListWidget();
    this->addTab(errorList, "Errors");

    //tabwidget
    QPalette Pal(palette());
    Pal.setColor(QPalette::Background, "#323232");
    setAutoFillBackground(true);
    setPalette(Pal);
	
	setStyleSheet("QTextEdit, QListWidget { color: white; background-color: #2D2D2F; border-style: solid; border-width: 1px; border-color: black; } QTabWidget::pane { background-color: #2D2D2F; } QTabBar::tab { color: white; background-color: #2D2D2F; border-style: solid; border-width: 1px; border-color: black; padding: 3px;} QTabBar::tab:selected { background-color: black; }");

    connect(errorList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(errorListItemDoubleClicked(QListWidgetItem*)));
	connect(this, SIGNAL(stdOut(QString)), this, SLOT(onStdOut(QString)));

	createRedirector();
}
Exemple #4
0
void PinDialog::init_tab(QWidget *& tab, MultiLineEdit *& ed, const char * v,
			 const char * lbl, const char * sl, bool enabled) {
  bool visit = !hasOkButton();
  Q3Grid * grid = new Q3Grid(2, this);

  tab = grid;
  grid->setMargin(5);
  grid->setSpacing(5);
  
  Q3VBox * vtab = new Q3VBox(grid);
  
  new QLabel(TR("selection : "), vtab);
  if (! visit)
    connect(new SmallPushButton(TR("Editor"), vtab), SIGNAL(clicked()), this, sl);
  ed = new MultiLineEdit(grid);

  QFont font = ed->font();

  if (! hasCodec())
    font.setFamily("Courier");
  font.setFixedPitch(TRUE);
  ed->setFont(font);
  ed->setText(v);
  if (visit)
    ed->setReadOnly(TRUE);
  
  addTab(grid, lbl);
  
  if (! enabled)
    removePage(grid);
}
Exemple #5
0
OctaveWindow::OctaveWindow(QDockWidget *parent_): QWidget()
{
  QFont font;
  font = QFont("Courier New");
  font.setPointSize(SwieeSettings.font.pointSize()-1);
  font.setStyleHint(QFont::Courier);
  font.setFixedPitch(true);
  setFont(font);

  QWidget *all = new QWidget();
  QVBoxLayout *allLayout = new QVBoxLayout();

  output = new QTextEdit(this);
  output->setReadOnly(true);
  output->setUndoRedoEnabled(false);
  output->setTextFormat(Qt::LogText);
  output->setLineWrapMode(QTextEdit::NoWrap);
  output->setPaletteBackgroundColor(SwieeSettings.BGColor);
  allLayout->addWidget(output);

  input = new QLineEdit(this);
  connect(input, SIGNAL(returnPressed()), SLOT(slotSendCommand()));
  allLayout->addWidget(input);
  all->setLayout(allLayout);

  setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  parent_->setWidget(all);

  //parent_->setResizeEnabled(true);
  //parent_->setHorizontallyStretchable(true);
  histPosition = 0;

  input->installEventFilter(this);
}
Exemple #6
0
int main(int argc, char **argv)
{
	QGuiApplication app(argc, argv);

	if (app.arguments().size() < 2) {
		qStdOut() << "Usage: fontinfo <family>\n";
		qStdOut() << "       fontinfo -list";
		return -1;
	}

	if (app.arguments().at(1) == "-list") {
		printFontList();
		return 0;
	}

	QFont f;
	f.setStyleHint(QFont::TypeWriter, QFont::StyleStrategy(QFont::PreferDefault | QFont::ForceIntegerMetrics));
	f.setFamily(QStringList(app.arguments().mid(1)).join(" "));
	f.setFixedPitch(true);
	f.setKerning(false);

	printFontInfo(f);
	for (int i=10; i<=18; i++) {
		qStdOut() << "Font size: " << i << endl;
		f.setPointSize(i);
		printFontMetrics(f);
	}
	return 0;
}
Exemple #7
0
    const QFont &GuiRegistry::font() const
    {
        QString family = AppRegistry::instance().settingsManager()->textFontFamily();
        if (family.isEmpty()) {
#if defined(Q_OS_MAC)
            family = "Monaco";
#elif defined(Q_OS_UNIX)
            family = "Monospace";
#elif defined(Q_OS_WIN)
            family = "Courier";
#endif
        }

        int pointSize = AppRegistry::instance().settingsManager()->textFontPointSize();
        if (pointSize < 1) {
#if defined(Q_OS_MAC)
            pointSize = 12;
#elif defined(Q_OS_UNIX)
            pointSize = -1;
#elif defined(Q_OS_WIN)
            pointSize = 10;
#endif
        }


        static QFont textFont = QFont(family, pointSize);
#if defined(Q_OS_UNIX)
        textFont.setFixedPitch(true);
#endif

        return textFont;
    }
JavaScriptInterpreter::JavaScriptInterpreter(QWidget *parent)
	: QMainWindow(parent), settings(QCoreApplication::organizationName(), QCoreApplication::applicationName())
{
	setup();
	createStatusBar();
	readSettings();
	
	TextEdit_input->setFocus();
	TextEdit_input->setFrameStyle(QFrame::NoFrame);

	splitter->setStretchFactor(0, 1);
	splitter->setStretchFactor(1, 0);

	QFont font;
	font.setFamily("Consolas");
	font.setFixedPitch(true);
	font.setPointSize(11);

	TextEdit_input->setFont(font);
	TextEdit_output->setFont(font);

	TextEdit_input->setTabStopWidth(30);
	TextEdit_output->setTabStopWidth(30);

	highlighter = new Highlighter(TextEdit_input->document());
	highlighter = new Highlighter(TextEdit_output->document());

	InitializeJS();
	textEditEvent();

	setCurrentFile(QString());
}
/** The default constructor
  *
  * \param parent The parent widget
  *
  */
RainbruRPG::Editor::ScriptEditor::ScriptEditor(QWidget* parent)
  : QWidget(parent)
{
  // Layout 
  QVBoxLayout* hb1=new QVBoxLayout();
  setLayout(hb1);

  QFont font;
  font.setFamily("Monospace");
  font.setFixedPitch(true);
  font.setPointSize(10);

  // Editor
  highlighter=new LuaHighlighter();
  edit=new QTextEdit(this);
  hb1->addWidget(edit);
  edit->setFont(font);
  highlighter->addToDocument(edit->document());

  edit->setLineWrapMode( QTextEdit::NoWrap );


  // Status bar 
  statusBar=new QStatusBar(this);
  hb1->addWidget(statusBar);

  cursorPositionChanged();

  connect(edit, SIGNAL(cursorPositionChanged()), 
	  this, SLOT(cursorPositionChanged()));
}
Exemple #10
0
QFont stripStyleName(QFont &f, QFontDatabase &db)
{
    const QString &styleName = f.styleName();
    if (styleName.isEmpty()) {
        return f;
    } else {
        QFont g = (db.styleString(f) != styleName) ?
            db.font(f.family(), styleName, f.pointSize())
            : QFont(f.family(), f.pointSize(), f.weight());
        if (auto s = f.pixelSize() > 0) {
            g.setPixelSize(s);
        }
        g.setStyleHint(f.styleHint(), f.styleStrategy());
        g.setStyle(f.style());
        if (f.underline()) {
            g.setUnderline(true);
        }
        if (f.strikeOut()) {
            g.setStrikeOut(true);
        }
        if (f.fixedPitch()) {
            g.setFixedPitch(true);
        }
        return g;
    }
}
Exemple #11
0
void MainWindow::setupEditor()
 {
     QFont font;
     font.setFamily("Courier");
     font.setFixedPitch(true);
     font.setPointSize(10);

     statusLabel = new QLabel;
     statusLabel->setTextFormat(Qt::RichText);
     statusBar()->addWidget(statusLabel);
     completingTextEdit = new TextEditor;
     completer = new QCompleter(this);
     completer->setModel(modelFromFile(":resources/wordlist.txt"));
     completer->setModelSorting(QCompleter::CaseInsensitivelySortedModel);
     completer->setCaseSensitivity(Qt::CaseInsensitive);
     completer->setWrapAround(false);
     completingTextEdit->setLineWrapMode(QTextEdit::NoWrap);
     completingTextEdit->setCompleter(completer);
     completingTextEdit->setContextMenuPolicy(Qt::ActionsContextMenu);

     setCentralWidget(completingTextEdit);
     completingTextEdit->setFont(font);
     completingTextEdit->setPalette(Qt::white);

     highlighter = new Highlighter(completingTextEdit->document());

     QFile file("mainwindow.h");
     if (file.open(QFile::ReadOnly | QFile::Text))
         completingTextEdit->setPlainText(file.readAll());

 }
Exemple #12
0
CodeArea::CodeArea(QWidget *parent)
    :QPlainTextEdit(parent)
    ,highlighter(this->document())
{
    QFont font;
    font.setFamily("Courier");
    font.setFixedPitch(true);
    font.setPointSize(10);
    font.insertSubstitution("	","    ");
    setFont(font);
    setWordWrapMode(QTextOption::NoWrap);

    lineNumberArea = new LineNumberArea(this);
    connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(updateLineNumberAreaWidth(int)));
    connect(this, SIGNAL(updateRequest(QRect,int)), this, SLOT(updateLineNumberArea(QRect,int)));
    connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightCurrentLine()));

    updateLineNumberAreaWidth(0);
    highlightCurrentLine();
    mCompleter = new QCompleter(this);
    mCompleter->setModel(new QStringListModel(mWordList, mCompleter));
    mCompleter->setModelSorting(QCompleter::CaseSensitivelySortedModel);
    mCompleter->setCaseSensitivity(Qt::CaseSensitive);
    mCompleter->setWrapAround(false);

    mCompleter->setWidget(this);
    mCompleter->setCompletionMode(QCompleter::PopupCompletion);
    mCompleter->setCaseSensitivity(Qt::CaseInsensitive);
    QObject::connect(mCompleter, SIGNAL(activated(QString)),
                  this, SLOT(insertCompletion(QString)));

    connect(this,SIGNAL(textChanged()), this, SLOT(onTextChange()));
}
OctaveWindow::OctaveWindow(QDockWidget *parent_): QWidget(parent_, 0)
{
  QFont font;
  font = QFont("Courier New");
  font.setPointSize(QucsSettings.font.pointSize()-1);
  font.setStyleHint(QFont::Courier);
  font.setFixedPitch(true);
  setFont(font);

  vBox = new Q3VBoxLayout(this);

  output = new Q3TextEdit(this);
  output->setReadOnly(true);
  output->setUndoRedoEnabled(false);
  output->setTextFormat(Qt::LogText);
  output->setMaxLogLines(2000);
  output->setWordWrap(Q3TextEdit::NoWrap);
  output->setPaletteBackgroundColor(QucsSettings.BGColor);
  vBox->addWidget(output, 10);

  input = new QLineEdit(this);
  connect(input, SIGNAL(returnPressed()), SLOT(slotSendCommand()));
  vBox->addWidget(input);

  setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  parent_->setWidget(this);
  //parent_->setResizeEnabled(true);
  //parent_->setHorizontallyStretchable(true);

  histIterator = cmdHistory.end();
}
Exemple #14
0
Wt_TextEdit::Wt_TextEdit()
{
	QFont font;
	font.setFamily("monaco");
	font.setFixedPitch(true);
	font.setPointSize(9);

	setFont(font);
	setTabStopWidth(4 * fontMetrics().width(' '));
	//setStyleSheet("QPlainTextEdit {background: #262626; color:#D4D4D4}");
	setStyleSheet("QPlainTextEdit {background: #373737; color:#D4D4D4;}");
	//setStyleSheet("QPlainTextEdit {background: #F2F2F2; color:#D4D4D4}");
	//setStyleSheet("QPlainTextEdit {background: url('bg2.png'); color:#D4D4D4}");

	setLineWrapMode(QPlainTextEdit::NoWrap);
	setTabChangesFocus(true);
	highLight = new Wt_HighLight(this->document());
	
	//QShortcut *action = new QShortcut(QKeySequence(tr("ctrl+f")),this);
	//connect(action, SIGNAL(activated()), this, SLOT(wt_selectionHighLight()));
	
	//connect(this, SIGNAL(selectionChanged()), this, SLOT(wt_selectionChanged()));
	//Wt_HighLight *searchTextHighLight = new Wt_HighLight(this->document(), Wt_HighLight::HighLightSearchText);
	//searchTextHighLight->initSearchTextHighlighting(tr("include"));
	//this->document()->setTextWidth(100);
	//block().blockFormat().setLineHeight(20, QTextBlockFormat::FixedHeight);
}
Exemple #15
0
void DialogIDE::setupEditor()
{

    m_formats = new QFormatScheme("qxs/formats.qxf", this);
    QDocument::setDefaultFormatScheme(m_formats);

    QLineMarksInfoCenter::instance()->loadMarkTypes("qxs/marks.qxm");

    m_languages = new QLanguageFactory(m_formats, this);
    m_languages->addDefinitionPath("qxs");


    fill_inject();

    QFont font;
    font.setFamily("Courier");
    font.setFixedPitch(true);
    font.setPointSize(10);


    editor->setFont(font);
    editor->setTabStopWidth(40);

    highlighter = new Highlighter(editor->document());

//    QFile file("mainwindow.h");
//    if (file.open(QFile::ReadOnly | QFile::Text))
//        editor->setPlainText(file.readAll());
    refreshFileList();
}
Exemple #16
0
QWidget* AboutBox::createLicensePanel()
{
	// Create a label to display readme.txt
	QTextEdit* label = new QTextEdit();
	label->setReadOnly(true);
	QString fileName(QString::fromUtf8(m_gleInterface->getManualLocation().c_str()));
	fileName.resize(fileName.lastIndexOf(QDir::separator()));
	fileName += QDir::separator();
	fileName += tr("LICENSE.txt");
   GLEInterface* iface = GLEGetInterfacePointer();
   std::string licenseFileTxt;
   bool res = iface->readFileOrGZIPTxt(fileName.toUtf8().constData(), &licenseFileTxt);
   if (res) {
		QFont font;
		// Set the font to be fixed pitch
		font.setFixedPitch(true);
		font.setFamily("Courier");
      font.setStretch(QFont::Condensed);
		label->setLineWrapMode(QTextEdit::NoWrap);
		label->setFont(font);
		label->setTextColor(Qt::black);
		// Get the text and put it in the label
		label->setPlainText(licenseFileTxt.c_str());
		QFontMetrics fm(font);
		m_minWidth = fm.width("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
	} else {
		label->setPlainText(tr("File not found: '%1'").arg(fileName));
	}
	return label;
}
Exemple #17
0
void PythonEditor::updateFont() {
    QFont font;
    font.setFamily("Courier");
    font.setFixedPitch(true);
    font.setPointSize(fontSize_);
    codeEdit_->setFont(font);
    compilerLogWidget_->setFont(font);
}
Exemple #18
0
LogWidget::LogWidget(QWidget *parent)
    :QPlainTextEdit(parent)
{
    setReadOnly( true );
    QFont font;
    font.setFamily(QLatin1String("Courier New"));
    font.setFixedPitch(true);
    document()->setDefaultFont( font );
}
Exemple #19
0
void ComponentDialog::init_uml_tab()
{
    bool visit = !hasOkButton();

    BrowserComponent * bn = (BrowserComponent *) data->get_browser_node();
    VVBox * vbox;
    GridBox * grid = new GridBox(2, this);

    umltab = grid;
    grid->setMargin(5);
    grid->setSpacing(5);

    grid->addWidget(new QLabel(tr("name : "), grid));
    grid->addWidget(edname = new LineEdit(bn->get_name(), grid));
    edname->setReadOnly(visit);

    grid->addWidget(new QLabel(tr("stereotype : "), grid));
    grid->addWidget(edstereotype = new QComboBox(grid));
    edstereotype->setEditable(true);
    edstereotype->addItem(toUnicode(data->get_stereotype()));

    if (! visit) {
        edstereotype->addItems(BrowserComponent::default_stereotypes());
        edstereotype->addItems(ProfiledStereotypes::defaults(UmlComponent));
        edstereotype->setAutoCompletion(completion());
    }

    edstereotype->setCurrentIndex(0);
    QSizePolicy sp = edstereotype->sizePolicy();
    sp.setHorizontalPolicy(QSizePolicy::Expanding);
    edstereotype->setSizePolicy(sp);

    grid->addWidget(vbox = new VVBox(grid));
    vbox->addWidget(new QLabel(tr("description :"), vbox));

    if (! visit)
    {
        SmallPushButton* sButton;
        connect(sButton = new SmallPushButton(tr("Editor"), vbox), SIGNAL(clicked()),
                this, SLOT(edit_description()));
        vbox->addWidget(sButton);
    }

    grid->addWidget(comment = new MultiLineEdit(grid));
    comment->setReadOnly(visit);
    comment->setText(bn->get_comment());
    QFont font = comment->font();

    if (! hasCodec())
        font.setFamily("Courier");

    font.setFixedPitch(TRUE);
    comment->setFont(font);

    addTab(grid, "Uml");
}
Exemple #20
0
void CodeEditor::syntaxHighlighting() {
   QFont font;
   font.setFamily("Courier");
   font.setFixedPitch(true);
   font.setPointSize(10);

   setFont(font);

   highlighter = new Highlighter(document());
}
DocDisplayWindow::DocDisplayWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::DocDisplayWindow)
{
    ui->setupUi(this);
    QFont f;
    f.setFixedPitch(true);
    f.setFamily("monospace");
    ui->docDisplay->setFont(f);
}
void EditableFilterDialog::setupEditor()
{
    QFont font;
    font.setFamily("Monospace");
    font.setFixedPitch(true);
    font.setPointSize(11);

    ui->_code->setFont(font);

    _highlighter = new Highlighter(ui->_code->document());
}
void CodeEditor::setFont(QString family, uint size) {

    //  qDebug() << " setFont " << family << size;

    QFont font;
    font.setFamily(family);
    font.setFixedPitch(true);
    font.setPointSize(size);

    QPlainTextEdit::setFont(font);
}
Exemple #24
0
// private methods
void cPadView::setupPad()
{
  QFont font;
  font.setFamily("Times New Roman");
  font.setFixedPitch(true);
  font.setPointSize(10);

  ui->padTextEdit->setFont(font);

  m_pHighlighter = new cHighlighterQT(ui->padTextEdit->document());  
}
Exemple #25
0
void Reader::setupEditor()
{
    editor = new QTextEdit;
    highlighter = new Highlighter(editor->document());
    QFont font;
    font.setFamily("Lucica");
    font.setFixedPitch(true);
    font.setPointSize(13);
    editor->setFont(font);
    editor->setReadOnly(TRUE);
}
Exemple #26
0
ScriptEditor::ScriptEditor(QWidget * parent) :
    CodeEditor(parent), m_ssh(document())
{
    QFont font;
    font.setFamily("Courier");
    font.setFixedPitch(true);
    font.setPointSize(10);
    
    setFont(font);
    setTabStopWidth(4 * fontMetrics().width(' '));
}
Exemple #27
0
void LDFViewer::vSetupEditor()
{
    QFont font;
    font.setFamily("Courier");
    font.setFixedPitch(true);
    font.setPointSize(10);

    m_pouLdfEditor = new QTextEdit;
    m_pouLdfEditor->setFont(font);

    m_pouLDFHighlighter = new LDFHighlighter(m_pouLdfEditor->document());
}
Exemple #28
0
TextOutputI::TextOutputI(const std::string& name, QWidget *parent)
    : QMainWindow(parent) {
    Logos logos;

    QPixmap myPic;
    myPic.loadFromData(logos.gistLogo, logos.gistLogoSize);
    setWindowIcon(myPic);

    QFont font;
    QString fontFamily("Courier");
    font.setFamily(fontFamily);
    font.setFixedPitch(true);
    font.setPointSize(12);


    editor = new QTextEdit;
    editor->setFont(font);
    editor->setReadOnly(true);
    editor->setLineWrapMode(QTextEdit::FixedColumnWidth);
    editor->setLineWrapColumnOrWidth(80);
    os = new GistOutputStream(editor);

    QAction* clearText = new QAction("Clear", this);
    clearText->setShortcut(QKeySequence("Ctrl+K"));
    this->addAction(clearText);
    connect(clearText, SIGNAL(triggered()), editor,
            SLOT(clear()));

    QAction* closeWindow = new QAction("Close window", this);
    closeWindow->setShortcut(QKeySequence("Ctrl+W"));
    this->addAction(closeWindow);
    connect(closeWindow, SIGNAL(triggered()), this,
            SLOT(close()));

    QToolBar* t = addToolBar("Tools");
    t->setFloatable(false);
    t->setMovable(false);
    t->addAction(clearText);

    stayOnTop = new QAction("Stay on top", this);
    stayOnTop->setCheckable(true);
    t->addAction(stayOnTop);
    connect(stayOnTop, SIGNAL(changed()), this,
            SLOT(changeStayOnTop()));

    changeStayOnTop();
    setCentralWidget(editor);
    setWindowTitle(QString((std::string("Gist Console: ") + name).c_str()));

    setAttribute(Qt::WA_QuitOnClose, false);
    setAttribute(Qt::WA_DeleteOnClose, false);
    resize(600,300);
}
Exemple #29
0
static QEFont *qt_open_font(QEditScreen *s, int style, int size)
{
    qDebug() << Q_FUNC_INFO << style << size;

    QEQtContext *ctx = (QEQtContext *)s->priv_data;
    QEFont *font;

    font = qe_mallocz(QEFont);
    if (!font)
        return NULL;

    QFont *f;

    switch (style & QE_FAMILY_MASK) {
    case QE_FAMILY_SANS:
        qDebug() << Q_FUNC_INFO << "Sans font requested";
        f = new QFont();
        f->setStyleHint(QFont::SansSerif);
        break;
    case QE_FAMILY_SERIF:
        qDebug() << Q_FUNC_INFO << "Serif font requested";
        f = new QFont();
        f->setStyleHint(QFont::Serif);
        break;
    case QE_FAMILY_FIXED:
    default:
        qDebug() << Q_FUNC_INFO << "Monospace font requested";
        f = new QFont("Consolas");
        f->setStyleHint(QFont::Monospace);
        f->setFixedPitch(true);
        break;
    }
    f->setStyleStrategy(QFont::ForceIntegerMetrics);
    f->setPointSize(size);

    if (style & QE_STYLE_BOLD)
        f->setBold(true);
    if (style & QE_STYLE_ITALIC)
        f->setItalic(true);
    if (style & QE_STYLE_UNDERLINE)
        f->setUnderline(true);
    if (style & QE_STYLE_LINE_THROUGH)
        f->setStrikeOut(true);

    QFontMetrics fm(*f, &ctx->image);
    font->ascent = fm.ascent();
    font->descent = fm.descent();

    font->priv_data = f;
    QFontInfo fi(*f);
    qDebug() << Q_FUNC_INFO << "Resolved" << fi.family() << fi.pointSize() << fi.fixedPitch();
    return font;
}
void ParameterSetDialog::init_uml_tab()
{
    bool visit = !hasOkButton();

    BrowserParameterSet * bn =
        (BrowserParameterSet *) data->get_browser_node();
    Q3VBox * vbox;
    Q3Grid * grid = new Q3Grid(2, this);

    umltab = grid;
    grid->setMargin(5);
    grid->setSpacing(5);

    new QLabel(TR("name : "), grid);
    edname = new LineEdit(bn->get_name(), grid);
    edname->setReadOnly(visit);

    new QLabel(TR("stereotype : "), grid);
    edstereotype = new Q3ComboBox(TRUE, grid);
    edstereotype->insertItem(toUnicode(data->get_stereotype()));

    if (! visit) {
        edstereotype->insertStringList(BrowserParameterSet::default_stereotypes());
        edstereotype->insertStringList(ProfiledStereotypes::defaults(UmlParameterSet));
        edstereotype->setAutoCompletion(completion());
    }

    edstereotype->setCurrentItem(0);
    QSizePolicy sp = edstereotype->sizePolicy();
    sp.setHorData(QSizePolicy::Expanding);
    edstereotype->setSizePolicy(sp);

    vbox = new Q3VBox(grid);
    new QLabel(TR("description :"), vbox);

    if (! visit) {
        connect(new SmallPushButton(TR("Editor"), vbox), SIGNAL(clicked()),
                this, SLOT(edit_description()));
    }

    comment = new MultiLineEdit(grid);
    comment->setReadOnly(visit);
    comment->setText(bn->get_comment());
    QFont font = comment->font();

    if (! hasCodec())
        font.setFamily("Courier");

    font.setFixedPitch(TRUE);
    comment->setFont(font);

    addTab(grid, "Uml");
}