Scribus Developer Documentation - API
logo-pen

Scribus Developer Documentation - API

autoformbuttongroup.cpp

Go to the documentation of this file.
00001 /*
00002 For general Scribus (>=1.3.2) copyright and licensing information please refer
00003 to the COPYING file provided with the program. Following this notice may exist
00004 a copyright and/or license notice that predates the release of Scribus 1.3.2
00005 for which a new license (GPL+exception) is in place.
00006 */
00007 #include <QImage>
00008 #include <QLayout>
00009 #include <QBitmap>
00010 #include <QPixmap>
00011 #include <QDebug>
00012 
00013 #include "autoformbuttongroup.h"
00014 #include "fpointarray.h"
00015 #include "scpainter.h"
00016 #include "util_icon.h"
00017 
00018 AutoformButtonGroup::AutoformButtonGroup( QWidget* parent ) : QFrame( parent )
00019 {
00020     QSizePolicy policy = QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
00021     buttonGroup1Layout = new QGridLayout( this );
00022     buttonGroup1Layout->setSpacing( 0 );
00023     buttonGroup1Layout->setMargin( 0 );
00024     int rowNum = 0;
00025     toolButton1 = new QToolButton( this );
00026     toolButton1->setCheckable( true );
00027     toolButton1->setIcon(QIcon(getIconPixmap(0,16)));
00028     toolButton1->setIconSize(QSize(16, 16));
00029     toolButton1->setSizePolicy(policy);
00030     buttonGroup1Layout->addWidget( toolButton1, rowNum, 0 );
00031     toolButton2 = new QToolButton( this );
00032     toolButton2->setCheckable( true );
00033     toolButton2->setIcon(QIcon(getIconPixmap(1,16)));
00034     toolButton2->setIconSize(QSize(16, 16));
00035     toolButton2->setSizePolicy(policy);
00036     buttonGroup1Layout->addWidget( toolButton2, rowNum, 1 );
00037     toolButton3 = new QToolButton( this );
00038     toolButton3->setCheckable( true );
00039     toolButton3->setIcon(QIcon(getIconPixmap(2,16)));
00040     toolButton3->setIconSize(QSize(16, 16));
00041     toolButton3->setSizePolicy(policy);
00042     buttonGroup1Layout->addWidget( toolButton3, rowNum, 2 );
00043     toolButton4 = new QToolButton( this );
00044     toolButton4->setCheckable( true );
00045     toolButton4->setIcon(QIcon(getIconPixmap(3,16)));
00046     toolButton4->setIconSize(QSize(16, 16));
00047     toolButton4->setSizePolicy(policy);
00048     buttonGroup1Layout->addWidget( toolButton4, rowNum, 3 );
00049     rowNum++;
00050 
00051     toolButton9 = new QToolButton( this );
00052     toolButton9->setCheckable( true );
00053     toolButton9->setIcon(QIcon(getIconPixmap(8,16)));
00054     toolButton9->setIconSize(QSize(16, 16));
00055     toolButton9->setSizePolicy(policy);
00056     buttonGroup1Layout->addWidget( toolButton9, rowNum, 0 );
00057     toolButton10 = new QToolButton( this );
00058     toolButton10->setCheckable( true );
00059     toolButton10->setIcon(QIcon(getIconPixmap(9,16)));
00060     toolButton10->setIconSize(QSize(16, 16));
00061     toolButton10->setSizePolicy(policy);
00062     buttonGroup1Layout->addWidget( toolButton10, rowNum, 1 );
00063     toolButton11 = new QToolButton( this );
00064     toolButton11->setCheckable( true );
00065     toolButton11->setIcon(QIcon(getIconPixmap(10,16)));
00066     toolButton11->setIconSize(QSize(16, 16));
00067     toolButton11->setSizePolicy(policy);
00068     buttonGroup1Layout->addWidget( toolButton11, rowNum, 2 );
00069     toolButton12 = new QToolButton( this );
00070     toolButton12->setCheckable( true );
00071     toolButton12->setIcon(QIcon(getIconPixmap(11,16)));
00072     toolButton12->setIconSize(QSize(16, 16));
00073     toolButton12->setSizePolicy(policy);
00074     buttonGroup1Layout->addWidget( toolButton12, rowNum, 3 );
00075     rowNum++;
00076 
00077     toolButton13 = new QToolButton( this );
00078     toolButton13->setCheckable( true );
00079     toolButton13->setIcon(QIcon(getIconPixmap(12,16)));
00080     toolButton13->setIconSize(QSize(16, 16));
00081     toolButton13->setSizePolicy(policy);
00082     buttonGroup1Layout->addWidget( toolButton13, rowNum, 0 );
00083     toolButton14 = new QToolButton( this );
00084     toolButton14->setCheckable( true );
00085     toolButton14->setIcon(QIcon(getIconPixmap(13,16)));
00086     toolButton14->setIconSize(QSize(16, 16));
00087     toolButton14->setSizePolicy(policy);
00088     buttonGroup1Layout->addWidget( toolButton14, rowNum, 1 );
00089     toolButton15 = new QToolButton( this );
00090     toolButton15->setCheckable( true );
00091     toolButton15->setIcon(QIcon(getIconPixmap(14,16)));
00092     toolButton15->setIconSize(QSize(16, 16));
00093     toolButton15->setSizePolicy(policy);
00094     buttonGroup1Layout->addWidget( toolButton15, rowNum, 2 );
00095     toolButton16 = new QToolButton( this );
00096     toolButton16->setCheckable( true );
00097     toolButton16->setIcon(QIcon(getIconPixmap(15,16)));
00098     toolButton16->setIconSize(QSize(16, 16));
00099     toolButton16->setSizePolicy(policy);
00100     buttonGroup1Layout->addWidget( toolButton16, rowNum, 3 );
00101     rowNum++;
00102 
00103     toolButton17 = new QToolButton( this );
00104     toolButton17->setCheckable( true );
00105     toolButton17->setIcon(QIcon(getIconPixmap(16,16)));
00106     toolButton17->setIconSize(QSize(16, 16));
00107     toolButton17->setSizePolicy(policy);
00108     buttonGroup1Layout->addWidget( toolButton17, rowNum, 0 );
00109     toolButton18 = new QToolButton( this );
00110     toolButton18->setCheckable( true );
00111     toolButton18->setIcon(QIcon(getIconPixmap(17,16)));
00112     toolButton18->setIconSize(QSize(16, 16));
00113     toolButton18->setSizePolicy(policy);
00114     buttonGroup1Layout->addWidget( toolButton18, rowNum, 1 );
00115     rowNum++;
00116 
00117     checkDoubleArrows = new QCheckBox( tr("Arrows"), this);
00118     checkDoubleArrows->setChecked(true);
00119     buttonGroup1Layout->addWidget(checkDoubleArrows, rowNum, 0, 1, 4);
00120     rowNum++;
00121 
00122     toolButton5 = new QToolButton( this );
00123     toolButton5->setCheckable( true );
00124     toolButton5->setIcon(QIcon(getIconPixmap(4,16)));
00125     toolButton5->setIconSize(QSize(16, 16));
00126     toolButton5->setSizePolicy(policy);
00127     buttonGroup1Layout->addWidget( toolButton5, rowNum, 0 );
00128     toolButton6 = new QToolButton( this );
00129     toolButton6->setCheckable( true );
00130     toolButton6->setIcon(QIcon(getIconPixmap(5,16)));
00131     toolButton6->setIconSize(QSize(16, 16));
00132     toolButton6->setSizePolicy(policy);
00133     buttonGroup1Layout->addWidget( toolButton6, rowNum, 1 );
00134     toolButton7 = new QToolButton( this );
00135     toolButton7->setCheckable( true );
00136     toolButton7->setIcon(QIcon(getIconPixmap(6,16)));
00137     toolButton7->setIconSize(QSize(16, 16));
00138     toolButton7->setSizePolicy(policy);
00139     buttonGroup1Layout->addWidget( toolButton7, rowNum, 2 );
00140     toolButton8 = new QToolButton( this );
00141     toolButton8->setCheckable( true );
00142     toolButton8->setIcon(QIcon(getIconPixmap(7,16)));
00143     toolButton8->setIconSize(QSize(16, 16));
00144     toolButton8->setSizePolicy(policy);
00145     buttonGroup1Layout->addWidget( toolButton8, rowNum, 3 );
00146     rowNum++;
00147     toolButton21 = new QToolButton( this );
00148     toolButton21->setCheckable( true );
00149     toolButton21->setIcon(QIcon(getIconPixmap(20,16)));
00150     toolButton21->setIconSize(QSize(16, 16));
00151     toolButton21->setSizePolicy(policy);
00152     buttonGroup1Layout->addWidget( toolButton21, rowNum, 0 );
00153     toolButton22 = new QToolButton( this );
00154     toolButton22->setCheckable( true );
00155     toolButton22->setIcon(QIcon(getIconPixmap(21,16)));
00156     toolButton22->setIconSize(QSize(16, 16));
00157     toolButton22->setSizePolicy(policy);
00158     buttonGroup1Layout->addWidget( toolButton22, rowNum, 1 );
00159     toolButton23 = new QToolButton( this );
00160     toolButton23->setCheckable( true );
00161     toolButton23->setIcon(QIcon(getIconPixmap(22,16)));
00162     toolButton23->setIconSize(QSize(16, 16));
00163     toolButton23->setSizePolicy(policy);
00164     buttonGroup1Layout->addWidget( toolButton23, rowNum, 2 );
00165     rowNum++;
00166     
00167     checkFlowChart = new QCheckBox( tr("Flow Chart"), this);
00168     checkFlowChart->setChecked(true);
00169     buttonGroup1Layout->addWidget(checkFlowChart, rowNum, 0, 1, 4);
00170     rowNum++;
00171 
00172     toolButton25 = new QToolButton( this );
00173     toolButton25->setCheckable( true );
00174     toolButton25->setIcon(QIcon(getIconPixmap(24,16)));
00175     toolButton25->setIconSize(QSize(16, 16));
00176     toolButton25->setSizePolicy(policy);
00177     buttonGroup1Layout->addWidget( toolButton25, rowNum, 0 );
00178     toolButton26 = new QToolButton( this );
00179     toolButton26->setCheckable( true );
00180     toolButton26->setIcon(QIcon(getIconPixmap(25,16)));
00181     toolButton26->setIconSize(QSize(16, 16));
00182     toolButton26->setSizePolicy(policy);
00183     buttonGroup1Layout->addWidget( toolButton26, rowNum, 1 );
00184     toolButton27 = new QToolButton( this );
00185     toolButton27->setCheckable( true );
00186     toolButton27->setIcon(QIcon(getIconPixmap(26,16)));
00187     toolButton27->setIconSize(QSize(16, 16));
00188     toolButton27->setSizePolicy(policy);
00189     buttonGroup1Layout->addWidget( toolButton27, rowNum, 2 );
00190     toolButton28 = new QToolButton( this );
00191     toolButton28->setCheckable( true );
00192     toolButton28->setIcon(QIcon(getIconPixmap(27,16)));
00193     toolButton28->setIconSize(QSize(16, 16));
00194     toolButton28->setSizePolicy(policy);
00195     buttonGroup1Layout->addWidget( toolButton28, rowNum, 3 );
00196     rowNum++;
00197 
00198     toolButton29 = new QToolButton( this );
00199     toolButton29->setCheckable( true );
00200     toolButton29->setIcon(QIcon(getIconPixmap(28,16)));
00201     toolButton29->setIconSize(QSize(16, 16));
00202     toolButton29->setSizePolicy(policy);
00203     buttonGroup1Layout->addWidget( toolButton29, rowNum, 0 );
00204     toolButton30 = new QToolButton( this );
00205     toolButton30->setCheckable( true );
00206     toolButton30->setIcon(QIcon(getIconPixmap(29,16)));
00207     toolButton30->setIconSize(QSize(16, 16));
00208     toolButton30->setSizePolicy(policy);
00209     buttonGroup1Layout->addWidget( toolButton30, rowNum, 1 );
00210     toolButton31 = new QToolButton( this );
00211     toolButton31->setCheckable( true );
00212     toolButton31->setIcon(QIcon(getIconPixmap(30,16)));
00213     toolButton31->setIconSize(QSize(16, 16));
00214     toolButton31->setSizePolicy(policy);
00215     buttonGroup1Layout->addWidget( toolButton31, rowNum, 2 );
00216     toolButton32 = new QToolButton( this );
00217     toolButton32->setCheckable( true );
00218     toolButton32->setIcon(QIcon(getIconPixmap(31,16)));
00219     toolButton32->setIconSize(QSize(16, 16));
00220     toolButton32->setSizePolicy(policy);
00221     buttonGroup1Layout->addWidget( toolButton32, rowNum, 3 );
00222     rowNum++;
00223 
00224     checkJigSaw = new QCheckBox( tr("Jigsaw"), this);
00225     checkJigSaw->setChecked(true);
00226     buttonGroup1Layout->addWidget(checkJigSaw, rowNum, 0, 1, 4);
00227     rowNum++;
00228 
00229     toolButton33 = new QToolButton( this );
00230     toolButton33->setCheckable( true );
00231     toolButton33->setIcon(QIcon(getIconPixmap(32,16)));
00232     toolButton33->setIconSize(QSize(16, 16));
00233     toolButton33->setSizePolicy(policy);
00234     buttonGroup1Layout->addWidget( toolButton33, rowNum, 0 );
00235     toolButton34 = new QToolButton( this );
00236     toolButton34->setCheckable( true );
00237     toolButton34->setIcon(QIcon(getIconPixmap(33,16)));
00238     toolButton34->setIconSize(QSize(16, 16));
00239     toolButton34->setSizePolicy(policy);
00240     buttonGroup1Layout->addWidget( toolButton34, rowNum, 1 );
00241     toolButton35 = new QToolButton( this );
00242     toolButton35->setCheckable( true );
00243     toolButton35->setIcon(QIcon(getIconPixmap(34,16)));
00244     toolButton35->setIconSize(QSize(16, 16));
00245     toolButton35->setSizePolicy(policy);
00246     buttonGroup1Layout->addWidget( toolButton35, rowNum, 2 );
00247     toolButton36 = new QToolButton( this );
00248     toolButton36->setCheckable( true );
00249     toolButton36->setIcon(QIcon(getIconPixmap(35,16)));
00250     toolButton36->setIconSize(QSize(16, 16));
00251     toolButton36->setSizePolicy(policy);
00252     buttonGroup1Layout->addWidget( toolButton36, rowNum, 3 );
00253     rowNum++;
00254     toolButton37 = new QToolButton( this );
00255     toolButton37->setCheckable( true );
00256     toolButton37->setIcon(QIcon(getIconPixmap(36,16)));
00257     toolButton37->setIconSize(QSize(16, 16));
00258     toolButton37->setSizePolicy(policy);
00259     buttonGroup1Layout->addWidget( toolButton37, rowNum, 0 );
00260     toolButton38 = new QToolButton( this );
00261     toolButton38->setCheckable( true );
00262     toolButton38->setIcon(QIcon(getIconPixmap(37,16)));
00263     toolButton38->setIconSize(QSize(16, 16));
00264     toolButton38->setSizePolicy(policy);
00265     buttonGroup1Layout->addWidget( toolButton38, rowNum, 1 );
00266     toolButton39 = new QToolButton( this );
00267     toolButton39->setCheckable( true );
00268     toolButton39->setIcon(QIcon(getIconPixmap(38,16)));
00269     toolButton39->setIconSize(QSize(16, 16));
00270     toolButton39->setSizePolicy(policy);
00271     buttonGroup1Layout->addWidget( toolButton39, rowNum, 2 );
00272     toolButton40 = new QToolButton( this );
00273     toolButton40->setCheckable( true );
00274     toolButton40->setIcon(QIcon(getIconPixmap(39,16)));
00275     toolButton40->setIconSize(QSize(16, 16));
00276     toolButton40->setSizePolicy(policy);
00277     buttonGroup1Layout->addWidget( toolButton40, rowNum, 3 );
00278     rowNum++;
00279     toolButton41 = new QToolButton( this );
00280     toolButton41->setCheckable( true );
00281     toolButton41->setIcon(QIcon(getIconPixmap(40,16)));
00282     toolButton41->setIconSize(QSize(16, 16));
00283     toolButton41->setSizePolicy(policy);
00284     buttonGroup1Layout->addWidget( toolButton41, rowNum, 0 );
00285     toolButton42 = new QToolButton( this );
00286     toolButton42->setCheckable( true );
00287     toolButton42->setIcon(QIcon(getIconPixmap(41,16)));
00288     toolButton42->setIconSize(QSize(16, 16));
00289     toolButton42->setSizePolicy(policy);
00290     buttonGroup1Layout->addWidget( toolButton42, rowNum, 1 );
00291     toolButton43 = new QToolButton( this );
00292     toolButton43->setCheckable( true );
00293     toolButton43->setIcon(QIcon(getIconPixmap(42,16)));
00294     toolButton43->setIconSize(QSize(16, 16));
00295     toolButton43->setSizePolicy(policy);
00296     buttonGroup1Layout->addWidget( toolButton43, rowNum, 2 );
00297     toolButton44 = new QToolButton( this );
00298     toolButton44->setCheckable( true );
00299     toolButton44->setIcon(QIcon(getIconPixmap(43,16)));
00300     toolButton44->setIconSize(QSize(16, 16));
00301     toolButton44->setSizePolicy(policy);
00302     buttonGroup1Layout->addWidget( toolButton44, rowNum, 3 );
00303     rowNum++;
00304 
00305     checkSpecials = new QCheckBox( tr("Specials"), this);
00306     checkSpecials->setChecked(true);
00307     buttonGroup1Layout->addWidget(checkSpecials, rowNum, 0, 1, 4);
00308     rowNum++;
00309 
00310     toolButton19 = new QToolButton( this );
00311     toolButton19->setCheckable( true );
00312     toolButton19->setIcon(QIcon(getIconPixmap(18,16)));
00313     toolButton19->setIconSize(QSize(16, 16));
00314     toolButton19->setSizePolicy(policy);
00315     buttonGroup1Layout->addWidget( toolButton19, rowNum, 0 );
00316     toolButton20 = new QToolButton( this );
00317     toolButton20->setCheckable( true );
00318     toolButton20->setIcon(QIcon(getIconPixmap(19,16)));
00319     toolButton20->setIconSize(QSize(16, 16));
00320     toolButton20->setSizePolicy(policy);
00321     buttonGroup1Layout->addWidget( toolButton20, rowNum, 1 );
00322     toolButton24 = new QToolButton( this );
00323     toolButton24->setCheckable( true );
00324     toolButton24->setIcon(QIcon(getIconPixmap(23,16)));
00325     toolButton24->setIconSize(QSize(16, 16));
00326     toolButton24->setSizePolicy(policy);
00327     buttonGroup1Layout->addWidget( toolButton24, rowNum, 2 );
00328     toolButton45 = new QToolButton( this );
00329     toolButton45->setCheckable( true );
00330     toolButton45->setIcon(QIcon(getIconPixmap(44,16)));
00331     toolButton45->setIconSize(QSize(16, 16));
00332     toolButton45->setSizePolicy(policy);
00333     buttonGroup1Layout->addWidget( toolButton45, rowNum, 3 );
00334 
00335     buttonGroup = new QButtonGroup(this);
00336     buttonGroup->addButton(toolButton1, 0);
00337     buttonGroup->addButton(toolButton2, 1);
00338     buttonGroup->addButton(toolButton3, 2);
00339     buttonGroup->addButton(toolButton4, 3);
00340     buttonGroup->addButton(toolButton5, 4);
00341     buttonGroup->addButton(toolButton6, 5);
00342     buttonGroup->addButton(toolButton7, 6);
00343     buttonGroup->addButton(toolButton8, 7);
00344     buttonGroup->addButton(toolButton9, 8);
00345     buttonGroup->addButton(toolButton10, 9);
00346     buttonGroup->addButton(toolButton11, 10);
00347     buttonGroup->addButton(toolButton12, 11);
00348     buttonGroup->addButton(toolButton13, 12);
00349     buttonGroup->addButton(toolButton14, 13);
00350     buttonGroup->addButton(toolButton15, 14);
00351     buttonGroup->addButton(toolButton16, 15);
00352     buttonGroup->addButton(toolButton17, 16);
00353     buttonGroup->addButton(toolButton18, 17);
00354     buttonGroup->addButton(toolButton19, 18);
00355     buttonGroup->addButton(toolButton20, 19);
00356     buttonGroup->addButton(toolButton21, 20);
00357     buttonGroup->addButton(toolButton22, 21);
00358     buttonGroup->addButton(toolButton23, 22);
00359     buttonGroup->addButton(toolButton24, 23);
00360     buttonGroup->addButton(toolButton25, 24);
00361     buttonGroup->addButton(toolButton26, 25);
00362     buttonGroup->addButton(toolButton27, 26);
00363     buttonGroup->addButton(toolButton28, 27);
00364     buttonGroup->addButton(toolButton29, 28);
00365     buttonGroup->addButton(toolButton30, 29);
00366     buttonGroup->addButton(toolButton31, 30);
00367     buttonGroup->addButton(toolButton32, 31);
00368     buttonGroup->addButton(toolButton33, 32);
00369     buttonGroup->addButton(toolButton34, 33);
00370     buttonGroup->addButton(toolButton35, 34);
00371     buttonGroup->addButton(toolButton36, 35);
00372     buttonGroup->addButton(toolButton37, 36);
00373     buttonGroup->addButton(toolButton38, 37);
00374     buttonGroup->addButton(toolButton39, 38);
00375     buttonGroup->addButton(toolButton40, 39);
00376     buttonGroup->addButton(toolButton41, 40);
00377     buttonGroup->addButton(toolButton42, 41);
00378     buttonGroup->addButton(toolButton43, 42);
00379     buttonGroup->addButton(toolButton44, 43);
00380     buttonGroup->addButton(toolButton45, 44);
00381     
00382     connect(buttonGroup, SIGNAL(buttonClicked(int)), this, SLOT(selForm(int)));
00383     connect(checkDoubleArrows, SIGNAL(clicked(bool)), this, SLOT(toggleDoubleArrows(bool)));
00384     connect(checkFlowChart, SIGNAL(clicked(bool)), this, SLOT(toggleFlowChart(bool)));
00385     connect(checkSpecials, SIGNAL(clicked(bool)), this, SLOT(toggleSpecials(bool)));
00386     connect(checkJigSaw, SIGNAL(clicked(bool)), this, SLOT(toggleJigSaw(bool)));
00387 
00388 }
00389 
00390 void AutoformButtonGroup::toggleDoubleArrows(bool visible)
00391 {
00392     int oldH = minimumSizeHint().height();
00393     QSizePolicy policy;
00394     if (visible)
00395         policy = QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
00396     else
00397         policy = QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
00398     toolButton5->setVisible(visible);
00399     toolButton5->setSizePolicy(policy);
00400     toolButton6->setVisible(visible);
00401     toolButton6->setSizePolicy(policy);
00402     toolButton7->setVisible(visible);
00403     toolButton7->setSizePolicy(policy);
00404     toolButton8->setVisible(visible);
00405     toolButton8->setSizePolicy(policy);
00406     toolButton21->setVisible(visible);
00407     toolButton21->setSizePolicy(policy);
00408     toolButton22->setVisible(visible);
00409     toolButton22->setSizePolicy(policy);
00410     toolButton23->setVisible(visible);
00411     toolButton23->setSizePolicy(policy);
00412     buttonGroup1Layout->activate();
00413     updateGeometry();
00414     int newH = minimumSizeHint().height();
00415     resize(minimumSizeHint());
00416     QSize pS = parentWidget()->size();
00417     int pH = pS.height();
00418     pS.setHeight(pH - (oldH - newH));
00419     parentWidget()->updateGeometry();
00420     parentWidget()->resize(pS);
00421 }
00422 
00423 void AutoformButtonGroup::toggleFlowChart(bool visible)
00424 {
00425     int oldH = minimumSizeHint().height();
00426     QSizePolicy policy;
00427     if (visible)
00428         policy = QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
00429     else
00430         policy = QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
00431     toolButton25->setVisible(visible);
00432     toolButton25->setSizePolicy(policy);
00433     toolButton26->setVisible(visible);
00434     toolButton26->setSizePolicy(policy);
00435     toolButton27->setVisible(visible);
00436     toolButton27->setSizePolicy(policy);
00437     toolButton28->setVisible(visible);
00438     toolButton28->setSizePolicy(policy);
00439     toolButton29->setVisible(visible);
00440     toolButton29->setSizePolicy(policy);
00441     toolButton30->setVisible(visible);
00442     toolButton30->setSizePolicy(policy);
00443     toolButton31->setVisible(visible);
00444     toolButton31->setSizePolicy(policy);
00445     toolButton32->setVisible(visible);
00446     toolButton32->setSizePolicy(policy);
00447     buttonGroup1Layout->activate();
00448     updateGeometry();
00449     int newH = minimumSizeHint().height();
00450     resize(minimumSizeHint());
00451     QSize pS = parentWidget()->size();
00452     int pH = pS.height();
00453     pS.setHeight(pH - (oldH - newH));
00454     parentWidget()->updateGeometry();
00455     parentWidget()->resize(pS);
00456 }
00457 
00458 void AutoformButtonGroup::toggleJigSaw(bool visible)
00459 {
00460     int oldH = minimumSizeHint().height();
00461     QSizePolicy policy;
00462     if (visible)
00463         policy = QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
00464     else
00465         policy = QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
00466     toolButton33->setVisible(visible);
00467     toolButton33->setSizePolicy(policy);
00468     toolButton34->setVisible(visible);
00469     toolButton34->setSizePolicy(policy);
00470     toolButton35->setVisible(visible);
00471     toolButton35->setSizePolicy(policy);
00472     toolButton36->setVisible(visible);
00473     toolButton36->setSizePolicy(policy);
00474     toolButton37->setVisible(visible);
00475     toolButton37->setSizePolicy(policy);
00476     toolButton38->setVisible(visible);
00477     toolButton38->setSizePolicy(policy);
00478     toolButton39->setVisible(visible);
00479     toolButton39->setSizePolicy(policy);
00480     toolButton40->setVisible(visible);
00481     toolButton40->setSizePolicy(policy);
00482     toolButton41->setVisible(visible);
00483     toolButton41->setSizePolicy(policy);
00484     toolButton42->setVisible(visible);
00485     toolButton42->setSizePolicy(policy);
00486     toolButton43->setVisible(visible);
00487     toolButton43->setSizePolicy(policy);
00488     toolButton44->setVisible(visible);
00489     toolButton44->setSizePolicy(policy);
00490     buttonGroup1Layout->activate();
00491     updateGeometry();
00492     int newH = minimumSizeHint().height();
00493     resize(minimumSizeHint());
00494     QSize pS = parentWidget()->size();
00495     int pH = pS.height();
00496     pS.setHeight(pH - (oldH - newH));
00497     parentWidget()->updateGeometry();
00498     parentWidget()->resize(pS);
00499 }
00500 
00501 void AutoformButtonGroup::toggleSpecials(bool visible)
00502 {
00503     int oldH = minimumSizeHint().height();
00504     QSizePolicy policy;
00505     if (visible)
00506         policy = QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
00507     else
00508         policy = QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
00509     toolButton24->setVisible(visible);
00510     toolButton24->setSizePolicy(policy);
00511     toolButton19->setVisible(visible);
00512     toolButton19->setSizePolicy(policy);
00513     toolButton20->setVisible(visible);
00514     toolButton20->setSizePolicy(policy);
00515     toolButton45->setVisible(visible);
00516     toolButton45->setSizePolicy(policy);
00517     buttonGroup1Layout->activate();
00518     updateGeometry();
00519     int newH = minimumSizeHint().height();
00520     resize(minimumSizeHint());
00521     QSize pS = parentWidget()->size();
00522     int pH = pS.height();
00523     pS.setHeight(pH - (oldH - newH));
00524     parentWidget()->updateGeometry();
00525     parentWidget()->resize(pS);
00526 }
00527 
00528 double* AutoformButtonGroup::getShapeData(int a, int *n)
00529 {
00530     double *vals = NULL;
00531     static double AutoShapes0[] = {0.0, 0.0, 0.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
00532                                     0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 0.0, 0.0, 0.0};
00533     static double AutoShapes1[] = {100.0, 50.0, 100.0, 77.615235, 50.0, 100.0, 77.615235, 100.0, 50.0, 100.0, 22.385765, 100.0,
00534                                     0.0, 50.0, 0.0, 77.615235, 0.0, 50.0, 0.0, 22.385765, 50.0, 0.0, 22.385765, 0.0,
00535                                     50.0, 0.0, 77.615235, 0.0, 100.0, 50.0, 100.0, 22.385765};
00536     static double AutoShapes2[] = {0.0, 0.0, 0.0, 0.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
00537                                     0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 0.0, 0.0, 0.0};
00538     static double AutoShapes3[] = {0.0, 25.0, 0.0, 25.0, 25.0, 25.0, 25.0, 25.0, 25.0, 25.0, 25.0, 25.0,
00539                                     25.0, 0.0, 25.0, 0.0, 25.0, 0.0, 25.0, 0.0, 75.0, 0.0, 75.0, 0.0,
00540                                     75.0, 0.0, 75.0, 0.0, 75.0, 25.0, 75.0, 25.0, 75.0, 25.0, 75.0, 25.0,
00541                                     100.0, 25.0, 100.0, 25.0, 100.0, 25.0, 100.0, 25.0, 100.0, 75.0, 100.0, 75.0,
00542                                     100.0, 75.0, 100.0, 75.0, 75.0, 75.0, 75.0, 75.0, 75.0, 75.0, 75.0, 75.0,
00543                                     75.0, 100.0, 75.0, 100.0, 75.0, 100.0, 75.0, 100.0, 25.0, 100.0, 25.0, 100.0,
00544                                     25.0, 100.0, 25.0, 100.0, 25.0, 75.0, 25.0, 75.0, 25.0, 75.0, 25.0, 75.0,
00545                                     0.0, 75.0, 0.0, 75.0, 0.0, 75.0, 0.0, 75.0, 0.0, 25.0, 0.0, 25.0};
00546     static double AutoShapes4[] = {0.0, 50.0, 0.0, 50.0, 50.0, 0.0, 50.0, 0.0, 50.0, 0.0, 50.0, 0.0,
00547                                     50.0, 25.0, 50.0, 25.0, 50.0, 25.0, 50.0, 25.0, 100.0, 25.0, 100.0, 25.0,
00548                                     100.0, 25.0, 100.0,  25.0, 100.0, 75.0, 100.0, 75.0, 100.0, 75.0, 100.0, 75.0,
00549                                     50.0, 75.0, 50.0, 75.0, 50.0, 75.0, 50.0, 75.0, 50.0, 100.0, 50.0, 100.0,
00550                                     50.0, 100.0, 50.0, 100.0,   0.0, 50.0, 0.0, 50.0};
00551     static double AutoShapes5[] = {0.0, 25.0, 0.0, 25.0, 50.0, 25.0, 50.0, 25.0, 50.0, 25.0, 50.0, 25.0,
00552                                     50.0, 0.0, 50.0, 0.0, 50.0, 0.0, 50.0, 0.0, 100.0, 50.0, 100.0, 50.0,
00553                                     100.0, 50.0, 100.0, 50.0, 50.0, 100.0, 50.0, 100.0, 50.0, 100.0, 50.0, 100.0,
00554                                     50.0, 75.0, 50.0, 75.0, 50.0, 75.0, 50.0, 75.0, 0.0, 75.0, 0.0, 75.0,
00555                                     0.0, 75.0, 0.0, 75.0,   0.0, 25.0, 0.0, 25.0};
00556     static double AutoShapes6[] = {0.0, 50.0, 0.0, 50.0, 50.0, 0.0, 50.0, 0.0, 50.0, 0.0, 50.0, 0.0,
00557                                     100.0, 50.0, 100.0, 50.0,   100.0, 50.0, 100.0, 50.0, 75.0, 50.0, 75.0, 50.0,
00558                                     75.0, 50.0, 75.0, 50.0, 75.0, 100.0, 75.0, 100.0, 75.0, 100.0, 75.0, 100.0,
00559                                     25.0, 100.0, 25.0, 100.0, 25.0, 100.0, 25.0, 100.0, 25.0, 50.0, 25.0, 50.0,
00560                                     25.0, 50.0, 25.0, 50.0, 0.0, 50.0, 0.0, 50.0};
00561     static double AutoShapes7[] = {0.0, 50.0, 0.0, 50.0, 25.0, 50.0, 25.0, 50.0, 25.0, 50.0, 25.0, 50.0,
00562                                     25.0, 0.0, 25.0, 0.0, 25.0, 0.0, 25.0, 0.0, 75.0, 0.0, 75.0, 0.0,
00563                                     75.0, 0.0, 75.0, 0.0, 75.0, 50.0, 75.0, 50.0, 75.0, 50.0, 75.0, 50.0,
00564                                     100.0, 50.0, 100.0, 50.0,   100.0, 50.0, 100.0, 50.0, 50.0, 100.0, 50.0, 100.0,
00565                                     50.0, 100.0, 50.0, 100.0,   0.0, 50.0, 0.0, 50.0};
00566     static double AutoShapes8[] = {0.0, 50.0, 0.0, 22.385765, 100.0, 0.0, 44.77716, 0.0,    100.0, 0.0, 100.0, 0.0,
00567                                     100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 44.77716, 100.0, 0.0, 50.0,
00568                                     0.0, 77.615235};
00569     static double AutoShapes9[] = {100.0, 50.0, 100.0, 77.615235, 0.0, 100.0, 55.22284, 100.0, 0.0, 100.0, 0.0, 100.0,
00570                                     0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 55.22281, 0.0, 100.0, 50.0, 100.0, 22.385765};
00571     static double AutoShapes10[] = {100.0, 100.0, 100.0, 100.0, 0.0, 100.0, 0.0,
00572                                     100.0, 0.0, 100.0, 0.0, 44.7715,
00573                                      50.0, 0.0, 22.3858, 0.0, 50.0, 0.0, 77.6152, 0.0, 100.0, 100.0, 100.0, 44.7715};
00574     static double AutoShapes11[] = {100.0, 0.0, 100.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 55.2285, 50.0, 100.0,
00575                                      22.3858, 100.0, 50.0, 100.0, 77.6152, 100.0, 100.0, 0.0, 100.0, 55.2285};
00576     static double AutoShapes12[] = {0.0, 50.0, 0.0, 50.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0,
00577                                      100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 0.0, 50.0, 0.0, 50.0};
00578     static double AutoShapes13[] = {0.0, 0.0, 0.0, 0.0, 100.0, 50.0, 100.0, 50.0, 100.0, 50.0, 100.0, 50.0,
00579                                      0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 0.0, 0.0, 0.0};
00580     static double AutoShapes14[] = {0.0, 100.0, 0.0, 100.0, 50.0, 0.0, 50.0, 0.0, 50.0, 0.0, 50.0, 0.0,
00581                                      100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 0.0, 100.0, 0.0, 100.0};
00582     static double AutoShapes15[] = {0.0, 0.0, 0.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0,
00583                                      50.0, 100.0, 50.0, 100.0, 50.0, 100.0, 50.0, 100.0, 0.0, 0.0, 0.0, 0.0};
00584     static double AutoShapes16[] = {25.0, 0.0, 25.0, 0.0, 75.0, 0.0, 75.0, 0.0, 75.0, 0.0, 75.0, 13.8071,
00585                                      100.0, 25.0, 86.1929, 25.0, 100.0, 25.0, 100.0, 25.0, 100.0, 75.0, 100.0, 75.0,
00586                                      100.0, 75.0, 86.1929, 75.0, 75.0, 100.0, 75.0, 86.1929, 75.0, 100.0, 75.0, 100.0,
00587                                      25.0, 100.0, 25.0, 100.0, 25.0, 100.0, 25.0, 86.1929, 0.0, 75.0, 13.8071, 75.0,
00588                                      0.0, 75.0, 0.0, 75.0, 0.0, 25.0, 0.0, 25.0, 0.0, 25.0, 13.8071, 25.0,
00589                                      25.0, 0.0, 25.0, 13.8071};
00590     static double AutoShapes17[] = {100.0, 50.0, 100.0, 77.6152, 50.0, 100.0, 77.6152, 100.0, 50.0, 100.0, 22.3858, 100.0,
00591                                      0.0, 50.0, 0.0, 77.6152, 0.0,  50.0, 0.0, 22.3858, 50.0, 0.0, 22.3858, 0.0,
00592                                      50.0, 0.0, 77.6152, 0.0, 100.0, 50.0, 100.0, 22.3858, -1.0, -1.0, -1.0, -1.0,
00593                                      75.0, 50.0, 75.0, 63.8076, 50.0, 75.0, 63.8076, 75.0, 50.0, 75.0, 36.1929, 75.0,
00594                                      25.0, 50.0, 25.0, 63.8076, 25.0, 50.0, 25.0, 36.1929, 50.0, 25.0, 36.1929, 25.0,
00595                                      50.0, 25.0, 63.8076, 25.0, 75.0, 50.0, 75.0, 36.1929};
00596     static double AutoShapes18[] = {50.185, 100, 50.185, 100, 42.0645, 82.3504, 47.3401, 90.5964, 42.0645, 82.3504, 42.0645, 82.3504, 21.6517, 56.7327, 36.7888,
00597                                     74.1044, 21.6517, 56.7327, 21.6517, 56.7327, 7.9825, 40.5569, 10.5513, 43.9838, 7.9825, 40.5569, 7.9825, 40.5569, 1.87893,
00598                                     30.3195, 3.76079, 34.9805, 1.87893, 30.3195, 1.87893, 30.3195, 0, 20.8776, 0, 25.6585, 0, 20.8776, 0, 20.8776, 6.78762, 6.05574,
00599                                     0, 12.0324, 6.78762, 6.05574, 6.78762, 6.05574, 23.5776, 0.0790433, 13.5782, 0.0790433, 23.5776, 0.0790433, 23.5776, 0.0790433,
00600                                     41.1015, 6.29542, 33.671, 0.0790433, 41.1015, 6.29542, 41.1015, 6.29542, 50.185, 20.0796, 46.6972, 10.9156, 50.185, 20.0796,
00601                                     50.185, 20.0796, 58.7165, 6.37446, 53.2118, 11.0763, 58.7165, 6.37446, 58.7165, 6.37446, 76.3314, 0, 66.332, 0, 76.3314, 0,
00602                                     76.3314, 0, 93.1184, 5.9359, 86.2398, 0, 93.1184, 5.9359, 93.1184, 5.9359, 100, 20.0796, 100, 11.8718, 100, 20.0796, 100,
00603                                     20.0796, 95.9632, 35.0213, 100, 27.2521, 95.9632, 35.0213, 95.9632, 35.0213, 80.3682, 55.3788, 91.9265, 42.7879, 80.3682,
00604                                     55.3788, 80.3682, 55.3788, 58.4405, 82.4702, 65.3221, 71.8733, 58.4405, 82.4702, 58.4405, 82.4702, 50.185, 100, 53.0268, 90.8361};
00605     static double AutoShapes19[] = {50.5178, 88.7331, 50.5178, 88.7331, 33.2052, 100, 44.7028, 100, 33.2052, 100, 33.2052, 100, 17.7654, 93.5724, 24.0951, 100,
00606                                     17.7654, 93.5724, 17.7654, 93.5724, 11.3695, 77.865, 11.3695, 87.1427, 11.3695, 77.865, 11.3695, 77.865, 16.9261, 64.2803,
00607                                     11.3695, 71.0408, 16.9261, 64.2803, 16.9261, 64.2803, 4.58708, 57.2568, 9.30233, 62.6898, 4.58708, 57.2568, 4.58708, 57.2568,
00608                                     0, 43.935, 0, 51.7559, 0, 43.935, 0, 43.935, 5.81292, 28.4948, 0, 35.1875, 5.81292, 28.4948, 5.81292, 28.4948, 20.2191, 21.8021,
00609                                     11.6279, 21.8021, 20.2191, 21.8021, 20.2191, 21.8021, 29.0708, 23.857, 24.1612, 21.8021, 29.0708, 23.857, 29.0708, 23.857,
00610                                     28.8124, 17.23, 28.8124, 18.0253, 28.8124, 17.23, 28.8124, 17.23, 35.8532, 4.57206, 28.8124, 9.60853, 35.8532, 4.57206, 35.8532,
00611                                     4.57206, 49.8708, 0, 42.1189, 0, 49.8708, 0, 49.8708, 0, 65.2465, 6.62694, 59.5618, 0, 65.2465, 6.62694, 65.2465, 6.62694,
00612                                     70.4145, 21.0726, 70.4145, 12.5244, 70.4145, 21.0726, 70.4145, 21.0726, 70.3483, 23.1932, 70.4145, 22.1329, 70.3483, 23.1932,
00613                                     70.3483, 23.1932, 79.3282, 20.8733, 75.1938, 20.8733, 79.3282, 20.8733, 79.3282, 20.8733, 94.0568, 27.3687, 88.0496, 20.8733,
00614                                     94.0568, 27.3687, 94.0568, 27.3687, 100, 43.0083, 100, 33.9957, 100, 43.0083, 100, 43.0083, 95.4129, 55.9314, 100, 50.4305,
00615                                     95.4129, 55.9314, 95.4129, 55.9314, 83.5928, 63.3535, 90.892, 61.4301, 83.5928, 63.3535, 83.5928, 63.3535, 89.5359, 77.5999,
00616                                     89.5359, 69.9805, 89.5359, 77.5999, 89.5359, 77.5999, 83.076, 93.3073, 89.5359, 86.6125, 83.076, 93.3073, 83.076, 93.3073,
00617                                     67.9587, 100, 76.5499, 100, 67.9587, 100, 67.9587, 100, 50.5178, 88.7331, 56.9116, 100, 50.5178, 88.7331, 50.5178, 88.7331,
00618                                     50.5178, 88.7331, 50.5178, 88.7331, -1, -1, -1, -1, -1, -1, -1, -1,
00619                                     49.7426, 40.0267, 49.7426, 40.0267, 41.6661, 43.5385, 45.0915, 40.0267, 41.6661, 43.5385, 41.6661, 43.5385, 38.2429, 51.8216,
00620                                     38.2429, 47.0502, 38.2429, 51.8216, 38.2429, 51.8216, 41.6661, 59.9733, 38.2429, 56.4615, 41.6661, 59.9733, 41.6661, 59.9733,
00621                                     49.7426, 63.485, 45.0915, 63.485, 49.7426, 63.485, 49.7426, 63.485, 57.8171, 60.039, 54.3938, 63.485, 57.8171, 60.039, 57.8171,
00622                                     60.039, 61.2403, 51.8216, 61.2403, 56.5273, 61.2403, 51.8216, 61.2403, 51.8216, 57.8171, 43.5385, 61.2403, 47.1838, 57.8171,
00623                                     43.5385, 57.8171, 43.5385, 49.7426, 40.0267, 54.2636, 40.0267};
00624     static double AutoShapes20[] = {50, 0, 50, 0, 100, 33.3333, 100, 33.3333, 100, 33.3333, 100, 33.3333, 75, 33.3333, 75, 33.3333, 75, 33.3333, 75, 33.3333, 75,
00625                                     66.6667, 75, 66.6667, 75, 66.6667, 75, 66.6667, 100, 66.6667, 100, 66.6667, 100, 66.6667, 100, 66.6667, 50, 100, 50, 100, 50,
00626                                     100, 50, 100, 0, 66.6667, 0, 66.6667, 0, 66.6667, 0, 66.6667, 25, 66.6667, 25, 66.6667, 25, 66.6667, 25, 66.6667, 25, 33.3333,
00627                                     25, 33.3333, 25, 33.3333, 25, 33.3333, 0, 33.3333, 0, 33.3333, 0, 33.3333, 0, 33.3333, 50, 0, 50, 0};
00628     static double AutoShapes21[] = {0, 49.9858, 0, 49.9858, 19.8923, 30.0652, 19.8923, 30.0652, 19.8923, 30.0652, 19.8923, 30.0652, 19.8923, 39.813,
00629                                      19.8923, 39.813, 19.8923, 39.813, 19.8923, 39.813, 39.813, 39.813, 39.813, 39.813, 39.813, 39.813, 39.813, 39.813, 39.813,
00630                                      19.8923, 39.813, 19.8923, 39.813, 19.8923, 39.813, 19.8923, 30.0652, 19.8923, 30.0652, 19.8923, 30.0652, 19.8923, 30.0652,
00631                                      19.8923, 49.9858, 0, 49.9858, 0, 49.9858, 0, 49.9858, 0, 69.9065, 19.8923, 69.9065, 19.8923, 69.9065, 19.8923, 69.9065,
00632                                      19.8923, 60.1587, 19.8923, 60.1587, 19.8923, 60.1587, 19.8923, 60.1587, 19.8923, 60.1587, 39.813, 60.1587, 39.813, 60.1587,
00633                                      39.813, 60.1587, 39.813, 80.0793, 39.813, 80.0793, 39.813, 80.0793, 39.813, 80.0793, 39.813, 80.0793, 30.0652, 80.0793,
00634                                      30.0652, 80.0793, 30.0652, 80.0793, 30.0652, 100, 49.9858, 100, 49.9858, 100, 49.9858, 100, 49.9858, 80.0793, 69.9065,
00635                                      80.0793, 69.9065, 80.0793, 69.9065, 80.0793, 69.9065, 80.0793, 60.1587, 80.0793, 60.1587, 80.0793, 60.1587, 80.0793, 60.1587,
00636                                      60.1587, 60.1587, 60.1587, 60.1587, 60.1587, 60.1587, 60.1587, 60.1587, 60.1587, 80.0793, 60.1587, 80.0793, 60.1587, 80.0793,
00637                                      60.1587, 80.0793, 69.9065, 80.0793, 69.9065, 80.0793, 69.9065, 80.0793, 69.9065, 80.0793, 49.9858, 100, 49.9858, 100, 49.9858,
00638                                      100, 49.9858, 100, 30.0652, 80.0793, 30.0652, 80.0793, 30.0652, 80.0793, 30.0652, 80.0793, 39.813, 80.0793, 39.813, 80.0793,
00639                                      39.813, 80.0793, 39.813, 80.0793, 39.813, 60.1587, 39.813, 60.1587, 39.813, 60.1587, 39.813, 60.1587, 19.8923, 60.1587, 19.8923,
00640                                      60.1587, 19.8923, 60.1587, 19.8923, 60.1587, 19.8923, 69.9065, 19.8923, 69.9065, 19.8923, 69.9065, 19.8923, 69.9065, 0,
00641                                      49.9858, 0, 49.9858};
00642     static double AutoShapes22[] = {0, 50, 0, 50, 33.3333, 0, 33.3333, 0, 33.3333, 0, 33.3333, 0, 33.3333, 25, 33.3333, 25, 33.3333, 25, 33.3333, 25, 66.6667,
00643                                     25, 66.6667, 25, 66.6667, 25, 66.6667, 25, 66.6667, 0, 66.6667, 0, 66.6667, 0, 66.6667, 0, 100, 50, 100, 50, 100, 50, 100, 50,
00644                                     66.6667, 100, 66.6667, 100, 66.6667, 100, 66.6667, 100, 66.6667, 75, 66.6667, 75, 66.6667, 75, 66.6667, 75, 33.3333, 75, 33.3333,
00645                                     75, 33.3333, 75, 33.3333, 75, 33.3333, 100, 33.3333, 100, 33.3333, 100, 33.3333, 100, 0, 50, 0, 50};
00646     static double AutoShapes23[] = {100, 50.0376, 100, 50.0376, 85.373, 85.373, 100, 70.7434, 85.373, 85.373, 85.373, 85.373, 50.0402, 100, 70.7459, 100, 50.0402,
00647                                     100, 50.0402, 100, 14.6672, 85.373, 29.3344, 100, 14.6672, 85.373, 14.6672, 85.373, 0, 50.0376, 0, 70.7434, 0, 50.0376, 0,
00648                                     50.0376, 14.6672, 14.627, 0, 29.2541, 14.6672, 14.627, 14.6672, 14.627, 50.0402, 0, 29.3344, 0, 50.0402, 0, 50.0402, 0, 85.373,
00649                                     14.627, 70.7459, 0, 85.373, 14.627, 85.373, 14.627, 100, 50.0376, 100, 29.2541, 100, 50.0376, 100, 50.0376, 100, 50.0376, 100,
00650                                     50.0376, -1, -1, -1, -1, -1, -1, -1, -1,
00651                                     37.1775, 39.6848, 37.1775, 39.6848, 35.3328, 35.1772, 37.1775, 37.0194, 35.3328, 35.1772, 35.3328, 35.1772, 30.8227, 33.3325,
00652                                     33.4906, 33.3325, 30.8227, 33.3325, 30.8227, 33.3325, 26.3528, 35.1772, 28.2351, 33.3325, 26.3528, 35.1772, 26.3528, 35.1772,
00653                                     24.4704, 39.6848, 24.4704, 37.0194, 24.4704, 39.6848, 24.4704, 39.6848, 26.3528, 44.1572, 24.4704, 42.2749, 26.3528, 44.1572,
00654                                     26.3528, 44.1572, 30.8227, 46.0396, 28.2351, 46.0396, 30.8227, 46.0396, 30.8227, 46.0396, 35.3328, 44.1572, 33.4906, 46.0396,
00655                                     35.3328, 44.1572, 35.3328, 44.1572, 37.1775, 39.6848, 37.1775, 42.2749, 37.1775, 39.6848, 37.1775, 39.6848, 37.1775, 39.6848,
00656                                     37.1775, 39.6848, -1, -1, -1, -1, -1, -1, -1, -1,
00657                                     75.5296, 39.6848, 75.5296, 39.6848, 73.6849, 35.1772, 75.5296, 37.0194, 73.6849, 35.1772, 73.6849, 35.1772, 69.1773, 33.3325,
00658                                     71.8427, 33.3325, 69.1773, 33.3325, 69.1773, 33.3325, 64.7048, 35.1772, 66.5872, 33.3325, 64.7048, 35.1772, 64.7048, 35.1772,
00659                                     62.8225, 39.6848, 62.8225, 37.0194, 62.8225, 39.6848, 62.8225, 39.6848, 64.7048, 44.1572, 62.8225, 42.2749, 64.7048, 44.1572,
00660                                     64.7048, 44.1572, 69.1773, 46.0396, 66.5872, 46.0396, 69.1773, 46.0396, 69.1773, 46.0396, 73.6849, 44.1572, 71.8427, 46.0396,
00661                                     73.6849, 44.1572, 73.6849, 44.1572, 75.5296, 39.6848, 75.5296, 42.2749, 75.5296, 39.6848, 75.5296, 39.6848, 75.5296, 39.6848,
00662                                     75.5296, 39.6848, -1, -1, -1, -1, -1, -1, -1, -1,
00663                                     26.9802, 66.1179, 26.9802, 66.1179, 36.6278, 77.4897, 30.903, 73.5669, 36.6278, 77.4897, 36.6278, 77.4897, 50.0402, 81.41,
00664                                     42.3527, 81.41, 50.0402, 81.41, 50.0402, 81.41, 63.4123, 77.4897, 57.6473, 81.41, 63.4123, 77.4897, 63.4123, 77.4897, 73.0976,
00665                                     66.1179, 69.1773, 73.5669, 73.0976, 66.1179, 73.0976, 66.1179, 68.1558, 63.2943, 68.1558, 63.2943, 68.1558, 63.2943, 68.1558,
00666                                     63.2943, 50.0402, 74.5884, 62.0395, 74.5884, 50.0402, 74.5884, 50.0402, 74.5884, 31.8442, 63.2943, 38.0383, 74.5884, 31.8442,
00667                                     63.2943, 31.8442, 63.2943, 26.9802, 66.1179, 26.9802, 66.1179};
00668     static double AutoShapes24[] = {0, 50, 4.81928, 25, 38.5542, 0, 19.2771, 0, 38.5542, 0, 38.5542, 0, 85.5422, 0, 85.5422, 0, 85.5422, 0, 100, 12.5, 85.5422,
00669                                     100, 100, 87.5, 85.5422, 100, 85.5422, 100, 38.5542, 100, 38.5542, 100, 38.5542, 100, 19.2771, 100, 0, 50, 4.81928, 75};
00670     static double AutoShapes25[] = {0, 16.8052, 0, 16.8052, 50, 16.8052, 21.5158, 33.7102, 50, 16.8052, 78.5196, 0, 100, 16.8052, 100, 16.8052, 100, 16.8052,
00671                                     100, 16.8052, 100, 83.0956, 100, 83.0956, 100, 83.0956, 100, 83.0956, 50, 83.0527, 78.5196, 66.2904, 50, 83.0527, 21.5158,
00672                                     99.9999, 0, 83.0956, 0, 83.0956, 0, 83.0956, 0, 83.0956, 0, 16.8052, 0, 16.8052};
00673     static double AutoShapes26[] = {52.381, 100, 52.381, 100, 19.0476, 100, 19.0476, 100, 19.0476, 100, 0, 66.6667, 19.0476, 0, 0, 33.3333, 19.0476, 0, 19.0476,
00674                                     0, 100, 0, 100, 0, 100, 0, 80.9524, 33.3333, 100, 100, 80.9524, 66.6667, 100, 100, 100, 100, 52.381, 100, 52.381, 100};
00675     static double AutoShapes27[] = {0, 50, 0, 50, 20, 0, 20, 0, 20, 0, 20, 0, 80, 0, 80, 0, 80, 0, 80, 0, 100, 50, 100, 50, 100, 50, 100, 50, 80, 100, 80, 100,
00676                                     80, 100, 80, 100, 20, 100, 20, 100, 20, 100, 20, 100, 0, 50, 0, 50};
00677     static double AutoShapes28[] = {0, 0, 10.9237, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 81.2792, 100, 81.2792, 100, 81.2792, 100, 81.2792, 50, 81.2792, 78.4724,
00678                                     62.5558, 50, 81.2792, 21.5276, 100, 0, 81.2792, 0, 81.2792, 0, 81.2792, 0, 81.2792, 0, 0, 0, 18.0791};
00679     static double AutoShapes29[] = {0, 100, 0, 100, 0, 50, 0, 50, 0, 50, 0, 50, 20, 0, 20, 0, 20, 0, 20, 0, 80, 0, 80, 0, 80, 0, 80, 0, 100, 50, 100, 50, 100, 50,
00680                                     100, 50, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0, 100};
00681     static double AutoShapes30[] = {0, 50, 0, 50, 20, 0, 20, 0, 20, 0, 20, 0, 100, 0, 100, 0, 100, 0, 100, 0, 100, 100, 100, 100, 100, 100, 100, 100, 0, 100, 0,
00682                                     100, 0, 100, 0, 100, 0, 50, 0, 50};
00683     static double AutoShapes31[] = {50, 100, 50, 100, 25, 100, 25, 100, 25, 100, 16.6667, 100, 0, 50, 0, 66.6666, 0, 50, 0, 33.3334, 25, 0, 16.6667, 0, 25, 0, 25,
00684                                     0, 75, 0, 75, 0, 75, 0, 83.3333, 0, 100, 50, 100, 33.3334, 100, 50, 100, 66.6666, 75, 100, 83.3333, 100, 75, 100, 75, 100, 50,
00685                                     100, 50, 100};
00686     static double AutoShapes32[] = {20, 0, 35, 0, 40, 0, 30, 0, 40, 0, 50, 0, 50, 20, 25, 20, 50, 20, 75, 20, 60, 0, 50, 0, 60, 0, 70, 0, 80, 0, 75, 0, 80, 0, 80,
00687                                     5, 80, 20, 80, 10, 80, 20, 80, 30, 100, 30, 100, 5, 100, 30, 100, 55, 80, 40, 80, 30, 80, 40, 80, 50, 80, 60, 80, 55, 80, 60,
00688                                     75, 60, 60, 60, 70, 60, 60, 60, 50, 60, 50, 40, 75, 40, 50, 40, 25, 40, 40, 60, 50, 60, 40, 60, 30, 60, 20, 60, 25, 60, 20, 60,
00689                                     20, 55, 20, 40, 20, 50, 20, 40, 20, 30, 0, 30, 0, 55, 0, 30, 0, 5, 20, 20, 20, 30, 20, 20, 20, 10, 20, 0, 20, 5};
00690     static double AutoShapes33[] = {0, 0, 18.75, 0, 25, 0, 12.5, 0, 25, 0, 37.5, 0, 37.5, 25, 6.25, 25, 37.5, 25, 68.75, 25, 50, 0, 37.5, 0, 50, 0, 62.5, 0, 75,
00691                                     0, 68.75, 0, 75, 0, 75, 6.25, 75, 25, 75, 12.5, 75, 25, 75, 37.5, 100, 37.5, 100, 6.25, 100, 37.5, 100, 68.75, 75, 50, 75,
00692                                     37.5, 75, 50, 75, 62.5, 75, 75, 75, 68.75, 75, 75, 68.75, 75, 50, 75, 62.5, 75, 50, 75, 37.5, 75, 37.5, 100, 68.75, 100, 37.5,
00693                                     100, 6.25, 100, 25, 75, 37.5, 75, 25, 75, 12.5, 75, 0, 75, 6.25, 75, 0, 75, 0, 68.75, 0, 50, 0, 62.5, 0, 50, 0, 37.5, 25, 37.5,
00694                                     25, 68.75, 25, 37.5, 25, 6.25, 0, 25, 0, 37.5, 0, 25, 0, 12.5, 0, 0, 0, 6.25};
00695     static double AutoShapes34[] = {0, 0, 18.75, 0, 25, 0, 12.5, 0, 25, 0, 37.5, 0, 37.5, 25, 6.25, 25, 37.5, 25, 68.75, 25, 50, 0, 37.5, 0, 50, 0, 62.5, 0, 75,
00696                                     0, 68.75, 0, 75, 0, 75, 6.25, 75, 25, 75, 12.5, 75, 25, 75, 37.5, 100, 37.5, 100, 6.25, 100, 37.5, 100, 68.75, 75, 50, 75,
00697                                     37.5, 75, 50, 75, 62.5, 75, 75, 75, 68.75, 75, 75, 68.75, 75, 50, 75, 62.5, 75, 50, 75, 37.5, 75, 37.5, 50, 68.75, 50, 37.5,
00698                                     50, 6.25, 50, 25, 75, 37.5, 75, 25, 75, 12.5, 75, 0, 75, 6.25, 75, 0, 75, 0, 68.75, 0, 50, 0, 62.5, 0, 50, 0, 37.5, 25, 37.5,
00699                                     25, 68.75, 25, 37.5, 25, 6.25, 0, 25, 0, 37.5, 0, 25, 0, 12.5, 0, 0, 0, 6.25};
00700     static double AutoShapes35[] = {0, 0, 25, 0, 33.3333, 0, 16.6667, 0, 33.3333, 0, 50, 0, 50, 33.3333, 8.33333, 33.3333, 50, 33.3333, 91.6667, 33.3333, 66.6667,
00701                                     0, 50, 0, 66.6667, 0, 83.3333, 0, 100, 0, 91.6667, 0, 100, 0, 100, 8.33333, 100, 33.3333, 100, 16.6667, 100, 33.3333, 100, 50,
00702                                     66.6667, 50, 66.6667, 8.33333, 66.6667, 50, 66.6667, 91.6667, 100, 66.6667, 100, 50, 100, 66.6667, 100, 83.3333, 100, 100, 100,
00703                                     91.6667, 100, 100, 91.6667, 100, 66.6667, 100, 83.3333, 100, 66.6667, 100, 50, 100, 50, 66.6667, 91.6667, 66.6667, 50, 66.6667,
00704                                     8.33333, 66.6667, 33.3333, 100, 50, 100, 33.3333, 100, 16.6667, 100, 0, 100, 8.33333, 100, 0, 100, 0, 91.6667, 0, 66.6667, 0,
00705                                     83.3333, 0, 66.6667, 0, 50, 33.3333, 50, 33.3333, 91.6667, 33.3333, 50, 33.3333, 8.33333, 0, 33.3333, 0, 50, 0, 33.3333, 0,
00706                                     16.6667, 0, 0, 0, 8.33333};
00707     static double AutoShapes36[] = {20, 20, 35, 20, 40, 20, 30, 20, 40, 20, 50, 20, 50, 0, 25, 0, 50, 0, 75, 0, 60, 20, 50, 20, 60, 20, 70, 20, 80, 20, 75, 20, 80,
00708                                     20, 80, 25, 80, 40, 80, 30, 80, 40, 80, 50, 60, 50, 60, 25, 60, 50, 60, 75, 80, 60, 80, 50, 80, 60, 80, 70, 80, 80, 80, 75, 80,
00709                                     80, 75, 80, 60, 80, 70, 80, 60, 80, 50, 80, 50, 100, 75, 100, 50, 100, 25, 100, 40, 80, 50, 80, 40, 80, 30, 80, 20, 80, 25, 80,
00710                                     20, 80, 20, 75, 20, 60, 20, 70, 20, 60, 20, 50, 0, 50, 0, 75, 0, 50, 0, 25, 20, 40, 20, 50, 20, 40, 20, 30, 20, 20, 20, 25};
00711     static double AutoShapes37[] = {20, 20, 35, 20, 40, 20, 30, 20, 40, 20, 50, 20, 50, 0, 25, 0, 50, 0, 75, 0, 60, 20, 50, 20, 60, 20, 70, 20, 80, 20, 75, 20, 80,
00712                                     20, 80, 25, 80, 40, 80, 30, 80, 40, 80, 50, 100, 50, 100, 25, 100, 50, 100, 75, 80, 60, 80, 50, 80, 60, 80, 70, 80, 80, 80, 75,
00713                                     80, 80, 75, 80, 60, 80, 70, 80, 60, 80, 50, 80, 50, 100, 75, 100, 50, 100, 25, 100, 40, 80, 50, 80, 40, 80, 30, 80, 20, 80, 25,
00714                                     80, 20, 80, 20, 75, 20, 60, 20, 70, 20, 60, 20, 50, 0, 50, 0, 75, 0, 50, 0, 25, 20, 40, 20, 50, 20, 40, 20, 30, 20, 20, 20, 25};
00715     static double AutoShapes38[] = {0, 0, 18.75, 0, 75, 0, 68.75, 0, 75, 0, 75, 6.25, 75, 25, 75, 12.5, 75, 25, 75, 37.5, 100, 37.5, 100, 6.25, 100, 37.5, 100,
00716                                     68.75, 75, 50, 75, 37.5, 75, 50, 75, 62.5, 75, 75, 75, 68.75, 75, 75, 68.75, 75, 50, 75, 62.5, 75, 50, 75, 37.5, 75, 37.5, 50,
00717                                     68.75, 50, 37.5, 50, 6.25, 50, 25, 75, 37.5, 75, 25, 75, 12.5, 75, 0, 75, 6.25, 75, 0, 75, 0, 68.75, 0, 0, 0, 6.25};
00718     static double AutoShapes39[] = {0, 0, 18.75, 0, 75, 0, 68.75, 0, 75, 0, 75, 6.25, 75, 25, 75, 12.5, 75, 25, 75, 37.5, 100, 37.5, 100, 6.25, 100, 37.5, 100,
00719                                     68.75, 75, 50, 75, 37.5, 75, 50, 75, 62.5, 75, 75, 75, 68.75, 75, 75, 68.75, 75, 50, 75, 62.5, 75, 50, 75, 37.5, 75, 37.5, 50,
00720                                     68.75, 50, 37.5, 50, 6.25, 50, 25, 75, 37.5, 75, 25, 75, 12.5, 75, 0, 75, 6.25, 75, 0, 75, 0, 68.75, 0, 50, 0, 62.5, 0, 50, 0,
00721                                     37.5, 25, 37.5, 25, 68.75, 25, 37.5, 25, 6.25, 0, 25, 0, 37.5, 0, 25, 0, 12.5, 0, 0, 0, 6.25};
00722     static double AutoShapes40[] = {0, 0, 25, 0, 100, 0, 91.6667, 0, 100, 0, 100, 8.33333, 100, 33.3333, 100, 16.6667, 100, 33.3333, 100, 50, 66.6667, 50, 66.6667,
00723                                     8.33333, 66.6667, 50, 66.6667, 91.6667, 100, 66.6667, 100, 50,