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.
121 lines
4.0 KiB
121 lines
4.0 KiB
/***************************************************************************
|
|
framewizard.cpp - description
|
|
-------------------
|
|
begin : mer giu 4 14:14:07 CEST 2003
|
|
copyright : (C) |YEAR| by Gu2003Luciano
|
|
email : gulmini.luciano@student.unife.it
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#include "framewizard.h"
|
|
#include "fmrceditor.h"
|
|
#include "fmfpeditor.h"
|
|
#include <tdemessagebox.h>
|
|
//#include <kdebug.h>
|
|
#include <tdelocale.h>
|
|
#include <tqpushbutton.h>
|
|
|
|
#include "fwglobal.h"
|
|
|
|
static const TQString info1=i18n("You must select an area."),
|
|
info2=i18n("Before editing a frame you must save the file.");
|
|
|
|
FrameWizard::FrameWizard(TQWidget *parent, const char *name) : FrameWizardS(parent, name),
|
|
m_hasSelected(false),m_saved(false)
|
|
{
|
|
m_hasSelected = false;
|
|
m_currSA=vfe->internalTree()->root()->label();
|
|
connect(this, TQ_SIGNAL(launchDraw()), this, TQ_SLOT(draw()));
|
|
connect(vfe, TQ_SIGNAL(areaSelected(const TQString &)), this, TQ_SLOT(catchSelectedArea(const TQString &)));
|
|
|
|
connect(pbHorizontal, TQ_SIGNAL(clicked()), this, TQ_SLOT(split()));
|
|
connect(pbVertical, TQ_SIGNAL(clicked()), this, TQ_SLOT(split()));
|
|
connect(pbEditFrame, TQ_SIGNAL(clicked()), this, TQ_SLOT(showFrameEditorDlg()));
|
|
connect(pbReset, TQ_SIGNAL(clicked()), this, TQ_SLOT(reset()));
|
|
connect(pbDelete, TQ_SIGNAL(clicked()), this, TQ_SLOT(remove()));
|
|
}
|
|
|
|
FrameWizard::~FrameWizard(){
|
|
#define TQT_CHECK_NULL
|
|
TQ_CHECK_PTR( vfe );
|
|
}
|
|
|
|
void FrameWizard::catchSelectedArea(const TQString &id ){
|
|
m_currSA = id; //is the current SelectableArea selected
|
|
m_hasSelected = true;// a SelectableArea has been selected
|
|
}
|
|
|
|
void FrameWizard::split(){
|
|
if(m_hasSelected) {
|
|
int split = 0;
|
|
TQString currNodeLabel = m_currSA;
|
|
TQString senderName=sender()->name();
|
|
if(senderName=="pbHorizontal"){
|
|
split = showRCeditorDlg(i18n("Enter the desired number of rows:"));
|
|
if(split>=2) vfe->split(currNodeLabel,split,HORIZONTAL);
|
|
}
|
|
else
|
|
if(senderName=="pbVertical"){
|
|
split = showRCeditorDlg(i18n("Enter the desired number of columns:"));
|
|
if(split>=2) vfe->split(currNodeLabel,split,VERTICAL);
|
|
}
|
|
emit launchDraw();
|
|
}
|
|
else KMessageBox::information( this, info1, i18n("Warning") );
|
|
m_hasSelected=false;
|
|
}
|
|
|
|
void FrameWizard::draw(){
|
|
vfe->draw();
|
|
}
|
|
|
|
int FrameWizard::showRCeditorDlg(const TQString &s){
|
|
int res = 0;
|
|
fmRCeditor *dlg = new fmRCeditor;
|
|
dlg->setLabelText(s);
|
|
if(dlg->exec()) res = dlg->spinBoxValue();
|
|
delete dlg;
|
|
return res;
|
|
}
|
|
|
|
void FrameWizard::showFrameEditorDlg(){
|
|
if(m_saved){
|
|
if(m_hasSelected) {
|
|
fmFPeditor *dlg = new fmFPeditor();
|
|
dlg->setup(vfe->internalTree()->findAreaAttribute(m_currSA)->attributeMap());
|
|
if(dlg->exec()) {
|
|
vfe->internalTree()->findAreaAttribute(m_currSA)->setAllAttributes(dlg->attributeMap());
|
|
vfe->draw();
|
|
}
|
|
delete dlg;
|
|
}
|
|
else KMessageBox::information( this, info1, i18n("Warning") );
|
|
m_hasSelected=false;
|
|
}
|
|
else KMessageBox::information( this, info2, i18n("Warning") );
|
|
}
|
|
|
|
void FrameWizard::reset(){
|
|
vfe->internalTree()->reset();
|
|
draw();
|
|
}
|
|
|
|
void FrameWizard::remove(){
|
|
if(m_hasSelected) {
|
|
vfe->removeNode(m_currSA);
|
|
draw();
|
|
}
|
|
else KMessageBox::information( this, info1, i18n("Warning") );
|
|
m_hasSelected=false;
|
|
}
|
|
|
|
#include "framewizard.moc"
|