// Copyright (c) 2002 Max Planck Institut fuer Informatik (Germany).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you may redistribute it under
// the terms of the Q Public License version 1.0.
// See the file LICENSE.QPL distributed with CGAL.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $Source: /CVSROOT/CGAL/Packages/Partition_2/demo/Partition_2/partition_2_toolbar_layers.C,v $
// $Revision: 1.1.6.1 $ $Date: 2004/12/19 16:37:42 $
// $Name: $
//
// Author(s) : Radu Ursu
#ifdef CGAL_USE_QT
#include "partition_2_toolbar_layers.h"
#include "partition_2_layers.h"
// icons
#include <CGAL/IO/pixmaps/ymonotone.xpm>
#include <CGAL/IO/pixmaps/greene_approx.xpm>
#include <CGAL/IO/pixmaps/show_polygon.xpm>
#include <CGAL/IO/pixmaps/optimal_convex.xpm>
#include <CGAL/IO/pixmaps/points.xpm>
#include <qiconset.h>
Layers_toolbar::Layers_toolbar(CGAL::Qt_widget *w, QMainWindow *mw,
Cgal_Polygon *p) : QToolBar(mw, "LT"),
nr_of_buttons(0)
{
showP = new Qt_layer_show_polygon<Cgal_Polygon>(*p);
showGA = new Qt_layer_show_greene_approx<Cgal_Polygon>(*p);
showYM = new Qt_layer_show_ymonotone<Cgal_Polygon>(*p);
showOC = new Qt_layer_show_optimal_convex<Cgal_Polygon>(*p);
showPP = new Qt_layer_show_polygon_points<Cgal_Polygon>(*p);
//set the widget
widget = w;
window = mw;
widget->attach(showP);
widget->attach(showGA);
widget->attach(showYM);
widget->attach(showOC);
widget->attach(showPP);
showGA->deactivate();
showYM->deactivate();
showOC->deactivate();
QIconSet set0(QPixmap( (const char**)show_polygon_small_xpm ),
QPixmap( (const char**)show_polygon_xpm ));
QIconSet set1(QPixmap( (const char**)greene_approx_small_xpm ),
QPixmap( (const char**)greene_approx_xpm ));
QIconSet set2(QPixmap( (const char**)ymonotone_small_xpm ),
QPixmap( (const char**)ymonotone_xpm ));
QIconSet set3(QPixmap( (const char**)optimal_convex_small_xpm ),
QPixmap( (const char**)optimal_convex_xpm ));
QIconSet set4(QPixmap( (const char**)points_small_xpm ),
QPixmap( (const char**)points_xpm ));
but[0] = new QToolButton(this, "show_polygon");
but[0]->setIconSet(set0);
but[0]->setTextLabel("Show Simple Polygon");
but[1] = new QToolButton(this, "greene_approx");
but[1]->setIconSet(set1);
but[1]->setTextLabel("Show Greene Approximation");
but[2] = new QToolButton(this, "ymonotone");
but[2]->setIconSet(set2);
but[2]->setTextLabel("Show Y Monotone Partition");
but[3] = new QToolButton(this, "optimal_convex");
but[3]->setIconSet(set3);
but[3]->setTextLabel("Show Optimal Convex Partition");
but[4] = new QToolButton(this, "show_points");
but[4]->setIconSet(set4);
but[4]->setTextLabel("Show Polygon Vertices");
nr_of_buttons = 5;
button_group = new QButtonGroup(0, "nonexclusive");
for(int i =0; i<nr_of_buttons; i++){
but[i]->setToggleButton(true);
but[i]->toggle();
button_group->insert(but[i]);
}
but[1]->toggle();
but[2]->toggle();
but[3]->toggle();
connect(but[0], SIGNAL(stateChanged(int)),
showP, SLOT(stateChanged(int)));
connect(but[1], SIGNAL(stateChanged(int)),
showGA, SLOT(stateChanged(int)));
connect(but[2], SIGNAL(stateChanged(int)),
showYM, SLOT(stateChanged(int)));
connect(but[3], SIGNAL(stateChanged(int)),
showOC, SLOT(stateChanged(int)));
connect(but[4], SIGNAL(stateChanged(int)),
showPP, SLOT(stateChanged(int)));
connect(button_group, SIGNAL(clicked(int)),
widget, SLOT(redraw()));
}
Layers_toolbar::~Layers_toolbar()
{
delete showP;
delete showGA;
delete showYM;
delete showOC;
delete showPP;
delete button_group;
};
#include "partition_2_toolbar_layers.moc"
#endif
syntax highlighted by Code2HTML, v. 0.9.1