EditView::EditView( Editor& editor, int w, int h ) : m_Editor(editor), m_PrevPos(-1,-1), m_Canvas( new Img(FMT_RGBX8,w,h ) ), m_ViewBox(0,0,w,h), m_Frame(0), m_Zoom(4), m_Offset(0,0), m_Panning(false), m_PanAnchor(0,0) { m_XZoom = m_Zoom*editor.Proj().Settings().PixW; m_YZoom = m_Zoom*editor.Proj().Settings().PixH; CenterView(); DrawView(m_ViewBox); Proj().AddListener( this ); editor.AddView( this ); }
PaletteEditor::PaletteEditor( Editor& ed, QWidget* parent ) : QDialog( parent ), m_Ed(ed), m_Proj( ed.Proj()), m_Selected( 1 ) { m_RGBWidget = new RGBWidget(); m_PaletteWidget = new PaletteWidget(m_Proj.PaletteConst()); m_PaletteWidget->EnableRangePicking( true ); resize( QSize(500,400) ); QHBoxLayout* h = new QHBoxLayout(); QVBoxLayout* v = new QVBoxLayout(); v->addWidget( m_RGBWidget ); m_SpreadButton = new QPushButton("Spread"); v->addWidget( m_SpreadButton ); // v->addStretch(); h->addLayout( v ); h->setStretchFactor(v,0); h->addWidget( m_PaletteWidget ); h->setStretchFactor(m_PaletteWidget,1); setLayout( h ); { Colour c( m_Proj.GetColour( m_Selected ) ); m_RGBWidget->setColour( QColor( c.r, c.g, c.b, c.a ) ); } connect( m_RGBWidget, SIGNAL( colourChanged() ), this, SLOT( colourChanged() ) ); connect( m_PaletteWidget, SIGNAL( rangeAltered() ), this, SLOT( paletteRangeAltered() ) ); connect( m_PaletteWidget, SIGNAL( pickedLeftButton(int) ), this, SLOT( colourPicked(int) ) ); connect( m_SpreadButton, SIGNAL( clicked() ), this, SLOT( spreadColours() ) ); m_SpreadButton->setEnabled( m_PaletteWidget->RangeValid() ); m_Proj.AddListener( this ); }