branchpropwindow.cpp
author insilmaril
Thu, 03 May 2007 14:40:13 +0000
changeset 487 8fca3a710dc4
parent 480 4e2c9394c7da
child 488 bd28847feede
permissions -rw-r--r--
Fixed window captions
insilmaril@421
     1
#include "branchpropwindow.h"
insilmaril@421
     2
insilmaril@440
     3
#include <QColorDialog>
insilmaril@440
     4
insilmaril@421
     5
#include "frameobj.h"
insilmaril@462
     6
#include "settings.h"
insilmaril@421
     7
insilmaril@462
     8
extern Settings settings;
insilmaril@487
     9
extern QString vymName;
insilmaril@487
    10
insilmaril@421
    11
insilmaril@480
    12
BranchPropertyWindow::BranchPropertyWindow (QWidget *parent): QDialog (parent)
insilmaril@421
    13
{
insilmaril@421
    14
	ui.setupUi (this);
insilmaril@421
    15
insilmaril@487
    16
	setCaption(vymName +" - " +tr ("Property Editor","Window caption"));
insilmaril@487
    17
insilmaril@421
    18
	branch=NULL;
insilmaril@421
    19
	mapEditor=NULL;
insilmaril@421
    20
insilmaril@440
    21
	ui.tabWidget->setEnabled(false);
insilmaril@440
    22
insilmaril@440
    23
	penColor=QColor (Qt::black);
insilmaril@440
    24
	brushColor=QColor (Qt::black);
insilmaril@440
    25
    QPixmap pix( 16,16);
insilmaril@440
    26
    pix.fill (penColor);
insilmaril@440
    27
	ui.framePenColorButton->setPixmap (pix);
insilmaril@440
    28
	ui.frameBrushColorButton->setPixmap (pix);
insilmaril@480
    29
insilmaril@480
    30
insilmaril@480
    31
	// Load Settings
insilmaril@480
    32
	//FIXME setSatelliteName ( "propertyWindow" );
insilmaril@480
    33
	resize (settings.value ( "/satellite/propertywindow/geometry/size", QSize(450,600)).toSize());
insilmaril@480
    34
	move   (settings.value ( "/satellite/propertywindow/geometry/pos", QPoint (250,50)).toPoint());
insilmaril@480
    35
	
insilmaril@480
    36
	if (settings.value ( "/satellite/propertywindow/showWithMain",true).toBool())
insilmaril@480
    37
		show();
insilmaril@480
    38
	else	
insilmaril@480
    39
		hide();
insilmaril@480
    40
insilmaril@462
    41
}
insilmaril@440
    42
insilmaril@462
    43
BranchPropertyWindow::~BranchPropertyWindow ()
insilmaril@462
    44
{
insilmaril@480
    45
	settings.setValue( "/satellite/propertywindow/geometry/size", size() );
insilmaril@480
    46
	settings.setValue( "/satellite/propertywindow/geometry/pos", pos() );
insilmaril@480
    47
insilmaril@421
    48
}
insilmaril@421
    49
insilmaril@421
    50
void BranchPropertyWindow::setBranch (BranchObj *bo)
insilmaril@421
    51
{
insilmaril@462
    52
	disconnectSignals();
insilmaril@421
    53
	branch=bo;
insilmaril@440
    54
	if (bo) 
insilmaril@440
    55
	{
insilmaril@440
    56
		ui.tabWidget->setEnabled (true);
insilmaril@421
    57
insilmaril@440
    58
		// Frame
insilmaril@462
    59
		FrameObj::FrameType t=branch->getFrameType();
insilmaril@462
    60
		if (t==FrameObj::NoFrame)
insilmaril@440
    61
		{
insilmaril@440
    62
			ui.frameTypeCombo->setCurrentIndex (0);
insilmaril@440
    63
			penColor=Qt::white;
insilmaril@440
    64
			brushColor=Qt::white;
insilmaril@440
    65
			ui.colorGroupBox->setEnabled (false);
insilmaril@462
    66
			ui.framePaddingSpinBox->setEnabled (false);
insilmaril@462
    67
			ui.frameWidthSpinBox->setEnabled (false);
insilmaril@480
    68
			ui.framePaddingLabel->setEnabled (false);
insilmaril@480
    69
			ui.frameBorderLabel->setEnabled (false);
insilmaril@440
    70
		} else	
insilmaril@440
    71
		{
insilmaril@440
    72
			penColor=bo->getFramePenColor();
insilmaril@440
    73
			brushColor=bo->getFrameBrushColor();
insilmaril@440
    74
			QPixmap pix( 16,16);
insilmaril@440
    75
			pix.fill (penColor);
insilmaril@480
    76
			ui.framePenColorButton->setPixmap (pix);
insilmaril@440
    77
			pix.fill (brushColor);
insilmaril@440
    78
			ui.frameBrushColorButton->setPixmap (pix);
insilmaril@440
    79
			ui.colorGroupBox->setEnabled (true);
insilmaril@462
    80
			ui.framePaddingSpinBox->setEnabled (true);
insilmaril@462
    81
			ui.framePaddingSpinBox->setValue (bo->getFramePadding());
insilmaril@462
    82
			ui.frameWidthSpinBox->setEnabled (true);
insilmaril@462
    83
			ui.frameWidthSpinBox->setValue (bo->getFrameBorderWidth());
insilmaril@480
    84
			ui.framePaddingLabel->setEnabled (true);
insilmaril@480
    85
			ui.frameBorderLabel->setEnabled (true);
insilmaril@440
    86
insilmaril@440
    87
			switch (t)
insilmaril@440
    88
			{
insilmaril@462
    89
				case FrameObj::Rectangle: 
insilmaril@440
    90
					ui.frameTypeCombo->setCurrentIndex (1);
insilmaril@440
    91
					break;
insilmaril@462
    92
				case FrameObj::Ellipse: 
insilmaril@440
    93
					ui.frameTypeCombo->setCurrentIndex (2);
insilmaril@440
    94
					break;
insilmaril@440
    95
				default: 
insilmaril@440
    96
					break;
insilmaril@440
    97
			}
insilmaril@440
    98
		}	
insilmaril@440
    99
		
insilmaril@440
   100
		// Link
insilmaril@440
   101
		if (branch->getHideLinkUnselected())
insilmaril@440
   102
			ui.hideLinkIfUnselected->setCheckState (Qt::Checked);
insilmaril@440
   103
		else	
insilmaril@440
   104
			ui.hideLinkIfUnselected->setCheckState (Qt::Unchecked);
insilmaril@462
   105
insilmaril@462
   106
		// Layout
insilmaril@462
   107
		if (branch->getIncludeImagesVer())
insilmaril@462
   108
			ui.incImgVer->setCheckState (Qt::Checked);
insilmaril@462
   109
		else	
insilmaril@462
   110
			ui.incImgVer->setCheckState (Qt::Unchecked);
insilmaril@462
   111
		if (branch->getIncludeImagesHor())
insilmaril@462
   112
			ui.incImgHor->setCheckState (Qt::Checked);
insilmaril@462
   113
		else	
insilmaril@462
   114
			ui.incImgHor->setCheckState (Qt::Unchecked);
insilmaril@462
   115
insilmaril@462
   116
		// Finally activate signals
insilmaril@462
   117
		connectSignals();
insilmaril@440
   118
	} else
insilmaril@421
   119
	{
insilmaril@440
   120
		ui.tabWidget->setEnabled (false);
insilmaril@421
   121
	}
insilmaril@421
   122
}
insilmaril@421
   123
insilmaril@421
   124
void BranchPropertyWindow::setMapEditor (MapEditor *me)
insilmaril@421
   125
{
insilmaril@440
   126
	mapEditor=me;
insilmaril@440
   127
	if (mapEditor) 
insilmaril@440
   128
		setBranch (mapEditor->getSelectedBranch() );
insilmaril@440
   129
	else
insilmaril@440
   130
		ui.tabWidget->setEnabled (false);
insilmaril@440
   131
		
insilmaril@421
   132
}
insilmaril@421
   133
insilmaril@421
   134
void BranchPropertyWindow::frameTypeChanged (int i)
insilmaril@421
   135
{
insilmaril@421
   136
	if (mapEditor)
insilmaril@480
   137
	{
insilmaril@421
   138
		switch (i)
insilmaril@421
   139
		{
insilmaril@462
   140
			case 0: mapEditor->setFrameType (FrameObj::NoFrame); break;
insilmaril@462
   141
			case 1: mapEditor->setFrameType (FrameObj::Rectangle); break;
insilmaril@462
   142
			case 2: mapEditor->setFrameType (FrameObj::Ellipse); break;
insilmaril@421
   143
		}
insilmaril@480
   144
		setBranch (branch);
insilmaril@480
   145
	}	
insilmaril@421
   146
}
insilmaril@421
   147
insilmaril@440
   148
void BranchPropertyWindow::framePenColorClicked()
insilmaril@440
   149
{
insilmaril@440
   150
	if (mapEditor) 
insilmaril@440
   151
	{	
insilmaril@440
   152
		QColor col = QColorDialog::getColor( penColor, this );
insilmaril@440
   153
		if ( col.isValid() ) 
insilmaril@440
   154
		{
insilmaril@440
   155
			penColor=col;
insilmaril@440
   156
			mapEditor->setFramePenColor (penColor);
insilmaril@440
   157
		}	
insilmaril@440
   158
	}
insilmaril@440
   159
}
insilmaril@440
   160
insilmaril@440
   161
void BranchPropertyWindow::frameBrushColorClicked()
insilmaril@440
   162
{
insilmaril@440
   163
	if (mapEditor) 
insilmaril@440
   164
	{
insilmaril@440
   165
		QColor col = QColorDialog::getColor( brushColor, this );
insilmaril@440
   166
		if ( col.isValid() ) 
insilmaril@440
   167
		{
insilmaril@440
   168
			brushColor=col;
insilmaril@440
   169
			mapEditor->setFrameBrushColor (brushColor);
insilmaril@440
   170
		}	
insilmaril@440
   171
	}	
insilmaril@440
   172
}
insilmaril@440
   173
insilmaril@462
   174
void BranchPropertyWindow::framePaddingChanged(int i)
insilmaril@462
   175
{
insilmaril@462
   176
	if (mapEditor) mapEditor->setFramePadding (i);
insilmaril@462
   177
}
insilmaril@462
   178
insilmaril@462
   179
void BranchPropertyWindow::frameBorderWidthChanged(int i)
insilmaril@462
   180
{
insilmaril@462
   181
	if (mapEditor) mapEditor->setFrameBorderWidth(i);
insilmaril@462
   182
}
insilmaril@462
   183
insilmaril@421
   184
void BranchPropertyWindow::linkHideUnselectedChanged (int i)
insilmaril@421
   185
{
insilmaril@421
   186
	if (!branch) return;
insilmaril@462
   187
	mapEditor->setHideLinkUnselected(i);
insilmaril@421
   188
}
insilmaril@421
   189
insilmaril@462
   190
void BranchPropertyWindow::incImgVerChanged (int  i)
insilmaril@462
   191
{
insilmaril@462
   192
	if (mapEditor) mapEditor->setIncludeImagesVer (i);
insilmaril@462
   193
}
insilmaril@462
   194
insilmaril@462
   195
void BranchPropertyWindow::incImgHorChanged (int  i)
insilmaril@462
   196
{
insilmaril@462
   197
	if (mapEditor) mapEditor->setIncludeImagesHor (i);
insilmaril@462
   198
}
insilmaril@462
   199
insilmaril@480
   200
void BranchPropertyWindow::closeEvent( QCloseEvent* ce )
insilmaril@480
   201
{
insilmaril@480
   202
    ce->accept();	// can be reopened with show()
insilmaril@480
   203
	hide();
insilmaril@480
   204
	emit (windowClosed() );
insilmaril@480
   205
    return;
insilmaril@480
   206
}
insilmaril@480
   207
insilmaril@480
   208
insilmaril@462
   209
void BranchPropertyWindow::connectSignals()
insilmaril@462
   210
{
insilmaril@462
   211
	// Frame
insilmaril@462
   212
	connect ( 
insilmaril@462
   213
		ui.framePenColorButton, SIGNAL (clicked()), 
insilmaril@462
   214
		this, SLOT (framePenColorClicked()));
insilmaril@462
   215
	connect ( 
insilmaril@462
   216
		ui.framePaddingSpinBox, SIGNAL (valueChanged( int)), 
insilmaril@462
   217
		this, SLOT (framePaddingChanged (int)));
insilmaril@462
   218
	connect ( 
insilmaril@462
   219
		ui.frameWidthSpinBox, SIGNAL (valueChanged( int)), 
insilmaril@462
   220
		this, SLOT (frameBorderWidthChanged (int)));
insilmaril@462
   221
	connect ( 
insilmaril@462
   222
		ui.frameBrushColorButton, SIGNAL (clicked()), 
insilmaril@462
   223
		this, SLOT (frameBrushColorClicked()));
insilmaril@462
   224
	connect ( 
insilmaril@462
   225
		ui.frameTypeCombo, SIGNAL (currentIndexChanged( int)), 
insilmaril@462
   226
		this, SLOT (frameTypeChanged (int)));
insilmaril@462
   227
insilmaril@462
   228
insilmaril@462
   229
	// Link	
insilmaril@462
   230
	connect ( 
insilmaril@462
   231
		ui.hideLinkIfUnselected, SIGNAL (stateChanged( int)), 
insilmaril@462
   232
		this, SLOT (linkHideUnselectedChanged (int)));
insilmaril@462
   233
insilmaril@462
   234
	// Layout	
insilmaril@462
   235
	connect ( 
insilmaril@462
   236
		ui.incImgVer, SIGNAL (stateChanged( int)), 
insilmaril@462
   237
		this, SLOT (incImgVerChanged (int)));
insilmaril@462
   238
	connect ( 
insilmaril@462
   239
		ui.incImgHor, SIGNAL (stateChanged( int)), 
insilmaril@462
   240
		this, SLOT (incImgHorChanged (int)));
insilmaril@462
   241
}
insilmaril@462
   242
insilmaril@462
   243
insilmaril@462
   244
void BranchPropertyWindow::disconnectSignals()
insilmaril@462
   245
{
insilmaril@480
   246
	// Frame 
insilmaril@462
   247
	disconnect ( ui.frameTypeCombo, 0,0,0);
insilmaril@462
   248
	disconnect ( ui.framePenColorButton, 0,0,0);
insilmaril@462
   249
	disconnect ( ui.framePaddingSpinBox, 0,0,0);
insilmaril@462
   250
	disconnect ( ui.frameWidthSpinBox, 0,0,0);
insilmaril@462
   251
	disconnect ( ui.frameBrushColorButton, 0,0,0);
insilmaril@462
   252
insilmaril@462
   253
	// Link	
insilmaril@462
   254
	disconnect ( ui.hideLinkIfUnselected, 0,0,0);
insilmaril@462
   255
insilmaril@462
   256
	// Layout	
insilmaril@462
   257
	disconnect ( ui.incImgVer, 0,0,0);
insilmaril@462
   258
	disconnect ( ui.incImgHor, 0,0,0);
insilmaril@462
   259
}
insilmaril@462
   260
insilmaril@462
   261