You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
193 lines
5.0 KiB
193 lines
5.0 KiB
/* This file is part of the KDE project
|
|
Copyright (C) 2003 Peter Simonsson <psn@linux.se>
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public License
|
|
along with this library; see the file COPYING.LIB. If not, write to
|
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
#include "kiviotextformatdlg.h"
|
|
|
|
#include <tqlabel.h>
|
|
#include <tqlayout.h>
|
|
#include <tqbuttongroup.h>
|
|
#include <tqradiobutton.h>
|
|
|
|
#include <tdefontdialog.h>
|
|
#include <kcolorbutton.h>
|
|
#include <tdelocale.h>
|
|
|
|
#include "kivio_view.h"
|
|
#include "kivio_doc.h"
|
|
|
|
KivioTextFormatDlg::KivioTextFormatDlg(KivioView* parent, const char* name)
|
|
: KDialogBase(Tabbed, i18n("Text Format"), Ok|Cancel|Default, Ok, parent, name)
|
|
{
|
|
m_valign = TQt::AlignVCenter;
|
|
m_halign = TQt::AlignHCenter;
|
|
initFontTab();
|
|
initPositionTab();
|
|
}
|
|
|
|
void KivioTextFormatDlg::initFontTab()
|
|
{
|
|
TQFrame* tab = addPage(i18n("Font"));
|
|
m_fontChooser = new TDEFontChooser(tab);
|
|
TQLabel* textColorLbl = new TQLabel(i18n("Text color:"), tab);
|
|
m_textCBtn = new KColorButton(tab);
|
|
TQGridLayout* gl = new TQGridLayout(tab);
|
|
gl->setSpacing(KDialog::spacingHint());
|
|
gl->addMultiCellWidget(m_fontChooser, 0, 0, 0, 1);
|
|
gl->addWidget(textColorLbl, 1, 0);
|
|
gl->addWidget(m_textCBtn, 1, 1);
|
|
}
|
|
|
|
void KivioTextFormatDlg::initPositionTab()
|
|
{
|
|
TQFrame* tab = addPage(i18n("Position"));
|
|
m_valignBGrp = new TQButtonGroup(1, TQt::Horizontal, i18n("Vertical"), tab);
|
|
(void) new TQRadioButton(i18n("&Top"), m_valignBGrp);
|
|
(void) new TQRadioButton(i18n("&Center"), m_valignBGrp);
|
|
(void) new TQRadioButton(i18n("&Bottom"), m_valignBGrp);
|
|
m_valignBGrp->setButton(1);
|
|
m_halignBGrp = new TQButtonGroup(1, TQt::Vertical, i18n("Horizontal"), tab);
|
|
(void) new TQRadioButton(i18n("&Left"), m_halignBGrp);
|
|
(void) new TQRadioButton(i18n("C&enter"), m_halignBGrp);
|
|
(void) new TQRadioButton(i18n("&Right"), m_halignBGrp);
|
|
m_halignBGrp->setButton(1);
|
|
m_preview = new TQLabel(i18n("Preview"), tab);
|
|
m_preview->setFrameStyle(TQFrame::Box | TQFrame::Sunken);
|
|
m_preview->setAlignment(m_valign | m_halign);
|
|
TQGridLayout* gl = new TQGridLayout(tab);
|
|
gl->setSpacing(KDialog::spacingHint());
|
|
gl->setRowStretch(0, 10);
|
|
gl->setColStretch(1, 10);
|
|
gl->addWidget(m_valignBGrp, 0, 0);
|
|
gl->addWidget(m_preview, 0, 1);
|
|
gl->addWidget(m_halignBGrp, 1, 1);
|
|
|
|
connect(m_valignBGrp, TQ_SIGNAL(clicked(int)), TQ_SLOT(updateVAlign(int)));
|
|
connect(m_halignBGrp, TQ_SIGNAL(clicked(int)), TQ_SLOT(updateHAlign(int)));
|
|
}
|
|
|
|
void KivioTextFormatDlg::updateVAlign(int i)
|
|
{
|
|
switch(i) {
|
|
case 0:
|
|
m_valign = TQt::AlignTop;
|
|
break;
|
|
case 1:
|
|
m_valign = TQt::AlignVCenter;
|
|
break;
|
|
case 2:
|
|
m_valign = TQt::AlignBottom;
|
|
break;
|
|
}
|
|
|
|
m_preview->setAlignment(m_valign | m_halign);
|
|
}
|
|
|
|
void KivioTextFormatDlg::updateHAlign(int i)
|
|
{
|
|
switch(i) {
|
|
case 0:
|
|
m_halign = TQt::AlignLeft;
|
|
break;
|
|
case 1:
|
|
m_halign = TQt::AlignHCenter;
|
|
break;
|
|
case 2:
|
|
m_halign = TQt::AlignRight;
|
|
break;
|
|
}
|
|
|
|
m_preview->setAlignment(m_valign | m_halign);
|
|
}
|
|
|
|
int KivioTextFormatDlg::valign()
|
|
{
|
|
return m_valign;
|
|
}
|
|
|
|
int KivioTextFormatDlg::halign()
|
|
{
|
|
return m_halign;
|
|
}
|
|
|
|
TQFont KivioTextFormatDlg::font()
|
|
{
|
|
return m_fontChooser->font();
|
|
}
|
|
|
|
TQColor KivioTextFormatDlg::textColor()
|
|
{
|
|
return m_textCBtn->color();
|
|
}
|
|
|
|
void KivioTextFormatDlg::setVAlign(int i)
|
|
{
|
|
switch(i) {
|
|
case TQt::AlignTop:
|
|
m_valignBGrp->setButton(0);
|
|
break;
|
|
case TQt::AlignVCenter:
|
|
m_valignBGrp->setButton(1);
|
|
break;
|
|
case TQt::AlignBottom:
|
|
m_valignBGrp->setButton(2);
|
|
break;
|
|
}
|
|
|
|
m_valign = static_cast<TQt::AlignmentFlags>(i);
|
|
m_preview->setAlignment(m_valign | m_halign);
|
|
}
|
|
|
|
void KivioTextFormatDlg::setHAlign(int i)
|
|
{
|
|
switch(i) {
|
|
case TQt::AlignLeft:
|
|
m_halignBGrp->setButton(0);
|
|
break;
|
|
case TQt::AlignHCenter:
|
|
m_halignBGrp->setButton(1);
|
|
break;
|
|
case TQt::AlignRight:
|
|
m_halignBGrp->setButton(2);
|
|
break;
|
|
}
|
|
|
|
m_halign = static_cast<TQt::AlignmentFlags>(i);
|
|
m_preview->setAlignment(m_valign | m_halign);
|
|
}
|
|
|
|
void KivioTextFormatDlg::setFont(TQFont f)
|
|
{
|
|
m_fontChooser->setFont(f);
|
|
}
|
|
|
|
void KivioTextFormatDlg::setTextColor(TQColor c)
|
|
{
|
|
m_textCBtn->setColor(c);
|
|
}
|
|
|
|
void KivioTextFormatDlg::slotDefault()
|
|
{
|
|
setFont((static_cast<KivioView*>(parent()))->doc()->defaultFont());
|
|
setTextColor(TQColor(0, 0, 0));
|
|
setHAlign(TQt::AlignHCenter);
|
|
setVAlign(TQt::AlignVCenter);
|
|
}
|
|
|
|
#include "kiviotextformatdlg.moc"
|