Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

HistogramEditor Class Reference

#include <histogramEditor.h>

Inheritance diagram for HistogramEditor:

[legend]
Collaboration diagram for HistogramEditor:
[legend]
List of all members.

Detailed Description

Interface for adjusting image historgram using upper and lower bounds and bright and contrast controls.

Definition at line 31 of file histogramEditor.h.

Public Member Functions

 HistogramEditor (QString filename, QWidget *parent=0, const char *name=0)
 Constructs layout.

 ~HistogramEditor ()
QImage * getModifiedImage ()
 get modified image that resulted from adjustments

void getHistBoundaries (int &lumLeft, int &lumRight, int &redLeft, int &redRight, int &greenLeft, int &greenRight, int &blueLeft, int &blueRight)
 returns histogram boundaries


Protected Member Functions

void keyPressEvent (QKeyEvent *e)
void keyReleaseEvent (QKeyEvent *e)

Private Slots

void selectPreviewImageType (int selection)
 updates preview image

void selectHistogramType (int selection)
 updates historgram interface

void resetBrightness ()
 reset brightness

void resetContrast ()
 reset contrast

void applyAction ()
 check for changes to settings, if so

void resetAction ()
 resets all adjustments

void generateAdjustedPreviewImage ()
 updates adjusted preview image


Private Member Functions

void adjustImage (QImage &image)
double scaleColor (double color, int left, int right)

Private Attributes

QString fileName
double meanR
 Mean color values.

double meanG
 Mean color values.

double meanB
 Mean color values.

ScaledPreviewInterfacepreviewInterface
 Preview image.

HistogramInterfacehistogramInterface
 Histogram view.

QComboBox * previewSelection
QComboBox * histogramType
ClickableLabelbrightnessIcon
ClickableLabelcontrastIcon
QFramebuttonsFrame
DynamicSliderbrightness
 Brightness slider.

DynamicSlidercontrast
 Contrast slider.


Constructor & Destructor Documentation

HistogramEditor::HistogramEditor QString  filename,
QWidget parent = 0,
const char *  name = 0
 

Constructs layout.

Definition at line 33 of file histogramEditor.cpp.

References applyAction(), b, brightness, brightnessIcon, buttonsFrame, contrast, contrastIcon, generateAdjustedPreviewImage(), HistogramEditor(), histogramInterface, histogramType, IMAGE_PATH, meanB, meanG, meanR, previewInterface, previewSelection, resetAction(), resetBrightness(), resetContrast(), selectHistogramType(), selectPreviewImageType(), ClickableLabel::setPixmap(), DynamicSlider::setPrefixes(), DynamicSlider::setZeroString(), SLIDER_RADIUS, and WIDGET_SPACING.

Referenced by HistogramEditor().

00033 : QDialog(parent,name,true) 00034 { 00035 //set pointer to null to make sure no 00036 //random data is ever accessed by the preview interface 00037 histogramInterface = NULL; 00038 00039 //record filename 00040 this->fileName = fileName; 00041 00042 //----- 00043 //find mean color values 00044 meanR = 0; 00045 meanG = 0; 00046 meanB = 0; 00047 int x, y; 00048 QRgb* rgb; 00049 uchar* scanLine; 00050 QImage image = QImage( fileName ); 00051 for( y=0; y<image.height(); y++) 00052 { 00053 scanLine = image.scanLine(y); 00054 for( x=0; x<image.width(); x++) 00055 { 00056 rgb = ((QRgb*)scanLine+x); 00057 double r = ((double)qRed(*rgb) )/255.0; 00058 double g = ((double)qGreen(*rgb) )/255.0; 00059 double b = ((double)qBlue(*rgb) )/255.0; 00060 00061 meanR+=r; 00062 meanG+=g; 00063 meanB+=b; 00064 } //x 00065 } //y 00066 meanR = meanR / ( image.width() * image.height() ); 00067 meanG = meanG / ( image.width() * image.height() ); 00068 meanB = meanB / ( image.width() * image.height() ); 00069 00070 QFrame* visibleFrame = new QFrame( this, "visible widgets" ); 00071 //-------------- 00072 //Preview frame: 00073 previewInterface = new ScaledPreviewInterface( fileName, visibleFrame, 00074 "previewInterface" ); 00075 connect( previewInterface, SIGNAL(resized()), 00076 this, SLOT(generateAdjustedPreviewImage()) ); 00077 00078 previewSelection = new QComboBox( visibleFrame, "previewSelction" ); 00079 previewSelection->insertItem( tr("Split View") ); 00080 previewSelection->insertItem( tr("Original Image") ); 00081 previewSelection->insertItem( tr("Adjusted Image") ); 00082 connect( previewSelection, SIGNAL(activated(int)), this, SLOT(selectPreviewImageType(int)) ); 00083 //-------------- 00084 //Adjust frame: 00085 histogramInterface = new HistogramInterface( fileName, visibleFrame, 00086 "histogramInterface" ); 00087 00088 //connect adjustments in histogram to generateAdjustedPreviewImage 00089 connect( histogramInterface, SIGNAL( selectedRangeChanged() ), 00090 SLOT( generateAdjustedPreviewImage() ) ); 00091 00092 QToolTip::add( histogramInterface, tr("Click and drag to select tonal range") ); 00093 00094 histogramType = new QComboBox( visibleFrame, "histogramType" ); 00095 histogramType->insertItem( tr("Luminosity") ); 00096 histogramType->insertItem( tr("Red") ); 00097 histogramType->insertItem( tr("Green") ); 00098 histogramType->insertItem( tr("Blue") ); 00099 connect( histogramType, SIGNAL(activated(int)), this, SLOT(selectHistogramType(int)) ); 00100 QToolTip::add( histogramType, tr("Histogram channel displayed") ); 00101 //-------------- 00102 //Slider frame: 00103 QString noChange = QString( tr("No change") ); 00104 00105 brightness = new DynamicSlider( Qt::Vertical, visibleFrame ); 00106 brightness->setZeroString( noChange ); 00107 brightness->setPrefixes("", "+"); 00108 brightness->setMinValue( -SLIDER_RADIUS ); 00109 brightness->setMaxValue( SLIDER_RADIUS ); 00110 connect( brightness, SIGNAL(valueChanged(int)), 00111 this, SLOT(generateAdjustedPreviewImage()) );; 00112 QToolTip::add( brightness, tr("Drag to adjust image brightness") ); 00113 00114 brightnessIcon = new ClickableLabel( visibleFrame, "brightnessIcon" ); 00115 brightnessIcon->setPixmap( QPixmap(QString(IMAGE_PATH)+"miscImages/brightness.png") ); 00116 connect( brightnessIcon, SIGNAL(clicked()), SLOT(resetBrightness()) ); 00117 QToolTip::add( brightnessIcon, tr("Reset brightness") ); 00118 00119 contrast = new DynamicSlider( Qt::Vertical, visibleFrame ); 00120 contrast->setZeroString( noChange ); 00121 contrast->setPrefixes("", "+"); 00122 contrast->setMinValue( -SLIDER_RADIUS ); 00123 contrast->setMaxValue( SLIDER_RADIUS ); 00124 connect( contrast, SIGNAL(valueChanged(int)), 00125 this, SLOT(generateAdjustedPreviewImage()) ); 00126 QToolTip::add( contrast, tr("Drag to adjust image contrast") ); 00127 00128 contrastIcon = new ClickableLabel( visibleFrame, "contrastIcon" ); 00129 contrastIcon->setPixmap( QPixmap(QString(IMAGE_PATH)+"miscImages/contrast.png") ); 00130 connect( contrastIcon, SIGNAL(clicked()), SLOT(resetContrast()) ); 00131 QToolTip::add( contrastIcon, tr("Reset contrast") ); 00132 //-------------- 00133 //Dialog buttons: 00134 buttonsFrame = new QFrame( visibleFrame, "dialogButtons" ); 00135 00136 QPushButton* applyButton = new QPushButton( tr("Apply"), buttonsFrame ); 00137 applyButton->setDefault(true); 00138 applyButton->setFocus(); 00139 connect( applyButton, SIGNAL(clicked()), SLOT(applyAction()) ); 00140 00141 QPushButton* cancelButton = new QPushButton( tr("Cancel"), buttonsFrame ); 00142 connect( cancelButton, SIGNAL(clicked()), SLOT(reject()) ); 00143 00144 QPushButton* resetButton = new QPushButton( tr("Reset"), buttonsFrame ); 00145 connect( resetButton, SIGNAL(clicked()), SLOT(resetAction()) ); 00146 00147 QGridLayout* buttonsGrid = new QGridLayout( buttonsFrame, 1, 5, 0 ); 00148 buttonsGrid->setColStretch( 0, 1 ); 00149 buttonsGrid->addWidget( applyButton, 0, 1 ); 00150 buttonsGrid->addWidget( cancelButton, 0, 2 ); 00151 buttonsGrid->addWidget( resetButton, 0, 3 ); 00152 buttonsGrid->setColStretch( 4, 1 ); 00153 buttonsGrid->setSpacing( WIDGET_SPACING ); 00154 //-------------- 00155 QGridLayout* mainGrid = new QGridLayout( visibleFrame, 5, 3, 0 ); 00156 00157 mainGrid->addMultiCellWidget( previewInterface, 0,0, 0,2 ); 00158 mainGrid->addMultiCellWidget( previewSelection, 1,1, 0,2, Qt::AlignHCenter ); 00159 00160 mainGrid->addWidget( histogramInterface, 2, 0 ); 00161 mainGrid->addWidget( brightness, 2, 1 ); 00162 mainGrid->addWidget( contrast, 2, 2 ); 00163 00164 //make sure sliders have enough space so all slider units are settable 00165 mainGrid->setRowSpacing( 2, 2*SLIDER_RADIUS + 5) ; 00166 00167 mainGrid->addWidget( histogramType, 3, 0, Qt::AlignHCenter ); 00168 mainGrid->addWidget( brightnessIcon, 3, 1 ); 00169 mainGrid->addWidget( contrastIcon, 3, 2 ); 00170 00171 mainGrid->addMultiCellWidget( buttonsFrame, 4,4, 0,2 ); 00172 00173 mainGrid->setRowStretch( 0, 1 ); 00174 mainGrid->setColStretch( 0, 1 ); 00175 00176 mainGrid->setSpacing( WIDGET_SPACING ); 00177 mainGrid->setMargin( WIDGET_SPACING ); 00178 00179 QGridLayout* invisibleGrid = new QGridLayout( this, 2, 1, 0 ); 00180 invisibleGrid->addWidget( visibleFrame, 0, 0 ); 00181 invisibleGrid->setRowStretch( 0, 1 ); 00182 00183 //PLATFORM_SPECIFIC_CODE 00184 //windows users expect a grip, but qt doesn't put one in by default. we'll add 00185 //it for them too. :-) 00186 #if defined(Q_OS_WIN) 00187 QSizeGrip* sizeGrip = new QSizeGrip( this ); 00188 invisibleGrid->addWidget( sizeGrip, 1, 0, Qt::AlignRight | Qt::AlignBottom ); 00189 #endif 00190 00191 00192 00193 00194 //Window caption 00195 setCaption( tr("Histogram Editor") ); 00196 //------------------------------- 00197 }

HistogramEditor::~HistogramEditor  ) 
 

Definition at line 199 of file histogramEditor.cpp.

00199 { }


Member Function Documentation

void HistogramEditor::adjustImage QImage &  image  )  [private]
 

Definition at line 295 of file histogramEditor.cpp.

References adjustImage(), b, brightness, contrast, HistogramInterface::getHistBoundaries(), histogramInterface, HSVtoRGB(), meanB, meanG, meanR, RGBtoHSV(), scaleColor(), and SLIDER_RADIUS.

Referenced by adjustImage(), generateAdjustedPreviewImage(), and getModifiedImage().

00296 { 00297 //obtain histogram left and right boundaries 00298 //sanity check 00299 int lumLeft, lumRight, redLeft, redRight, greenLeft, greenRight, blueLeft, blueRight; 00300 if( histogramInterface ) 00301 { 00302 histogramInterface->getHistBoundaries( lumLeft, lumRight, 00303 redLeft, redRight, 00304 greenLeft, greenRight, 00305 blueLeft, blueRight ); 00306 } 00307 else 00308 { 00309 lumLeft = 0; lumRight = 255; 00310 redLeft = 0; redRight = 255; 00311 greenLeft = 0; greenRight = 255; 00312 blueLeft = 0; blueRight = 255; 00313 } 00314 00315 //modify image 00316 double displayToOneScalar = 1.0/255.0; 00317 double scaledMeanR = displayToOneScalar*scaleColor( 255.0*meanR, redLeft, redRight ); 00318 double scaledMeanG = displayToOneScalar*scaleColor( 255.0*meanG, greenLeft, greenRight ); 00319 double scaledMeanB = displayToOneScalar*scaleColor( 255.0*meanB, blueLeft, blueRight ); 00320 00321 double brightnessScalar, addedBrightnessColor; 00322 if(brightness->value() < 0) 00323 { 00324 brightnessScalar = ((double)(SLIDER_RADIUS + brightness->value()))/SLIDER_RADIUS; 00325 addedBrightnessColor = 1.0 - brightnessScalar; 00326 } 00327 else 00328 { 00329 brightnessScalar = ((double)(SLIDER_RADIUS - brightness->value()))/SLIDER_RADIUS; 00330 addedBrightnessColor = 0.0; 00331 } 00332 00333 int x, y; 00334 QRgb* rgb; 00335 double r,g,b; 00336 double h,s,v; 00337 int rPrime, gPrime, bPrime; 00338 uchar* scanLine; 00339 00340 for( y=0; y<image.height(); y++) 00341 { 00342 scanLine = image.scanLine(y); 00343 for( x=0; x<image.width(); x++) 00344 { 00345 //get rgb value 00346 rgb = ((QRgb*)scanLine+x); 00347 r = qRed(*rgb); 00348 g = qGreen(*rgb); 00349 b = qBlue(*rgb); 00350 00351 //apply histogram boundaries 00352 RGBtoHSV(r,g,b,&h,&s,&v); 00353 v = scaleColor( v, lumLeft, lumRight ); 00354 HSVtoRGB( &r,&g,&b, h,s,v); 00355 00356 r = scaleColor( r, redLeft, redRight ); 00357 g = scaleColor( g, greenLeft, greenRight ); 00358 b = scaleColor( b, blueLeft, blueRight ); 00359 00360 //convert to 0-1 scale 00361 r = r*displayToOneScalar; 00362 g = g*displayToOneScalar; 00363 b = b*displayToOneScalar; 00364 00365 //adjust contrast 00366 r = ( (r-scaledMeanR) * (SLIDER_RADIUS-contrast->value()) )/SLIDER_RADIUS + scaledMeanR; 00367 g = ( (g-scaledMeanG) * (SLIDER_RADIUS-contrast->value()) )/SLIDER_RADIUS + scaledMeanG; 00368 b = ( (b-scaledMeanB) * (SLIDER_RADIUS-contrast->value()) )/SLIDER_RADIUS + scaledMeanB; 00369 00370 //apply brightness adjustment 00371 //http://www.sgi.com/misc/grafica/interp/ 00372 r = brightnessScalar*r + addedBrightnessColor; 00373 g = brightnessScalar*g + addedBrightnessColor; 00374 b = brightnessScalar*b + addedBrightnessColor; 00375 00376 //scale and clamp to 0-255 range 00377 rPrime = (int) QMIN( QMAX((r*255), 0), 255 ); 00378 gPrime = (int) QMIN( QMAX((g*255), 0), 255 ); 00379 bPrime = (int) QMIN( QMAX((b*255), 0), 255 ); 00380 00381 //set adjusted color value 00382 *rgb = qRgb(rPrime, gPrime, bPrime); 00383 } //x 00384 } //y 00385 }

void HistogramEditor::applyAction  )  [private, slot]
 

check for changes to settings, if so

Definition at line 201 of file histogramEditor.cpp.

References brightness, contrast, HistogramInterface::getHistBoundaries(), and histogramInterface.

Referenced by HistogramEditor().

00202 { 00203 //check if user has adjusted brightness, contrast, or histogram ranges. 00204 //if any changes have taken place call "accept", else "reject" so image is not 00205 //updated and appear modified 00206 int lumLeft, lumRight, redLeft, redRight, greenLeft, greenRight, blueLeft, blueRight; 00207 histogramInterface->getHistBoundaries( lumLeft, lumRight, 00208 redLeft, redRight, 00209 greenLeft, greenRight, 00210 blueLeft, blueRight ); 00211 if( brightness->value() != 0 || contrast->value() != 0 || 00212 lumLeft != 0 || lumRight != 255 || 00213 redLeft !=0 || redRight != 255 || 00214 greenLeft != 0 || greenRight != 255 || 00215 blueLeft != 0 || blueRight != 255 ) 00216 { accept(); } 00217 else 00218 { reject(); } 00219 }

void HistogramEditor::generateAdjustedPreviewImage  )  [private, slot]
 

updates adjusted preview image

Definition at line 282 of file histogramEditor.cpp.

References adjustImage(), SplitViewInterface::getOrigImage(), previewInterface, and SplitViewInterface::setAdjustedImage().

Referenced by HistogramEditor().

00283 { 00284 //get original image 00285 QImage origImage = previewInterface->getOrigImage(); 00286 00287 //construct adjusted image 00288 QImage adjustedImage = origImage.copy(); 00289 adjustImage( adjustedImage ); 00290 00291 //set adjusted image 00292 previewInterface->setAdjustedImage( adjustedImage ); 00293 }

void HistogramEditor::getHistBoundaries int &  lumLeft,
int &  lumRight,
int &  redLeft,
int &  redRight,
int &  greenLeft,
int &  greenRight,
int &  blueLeft,
int &  blueRight
 

returns histogram boundaries

Definition at line 260 of file histogramEditor.cpp.

References HistogramInterface::getHistBoundaries(), getHistBoundaries(), and histogramInterface.

Referenced by getHistBoundaries().

00264 { 00265 //sanity check 00266 if( histogramInterface ) 00267 { 00268 histogramInterface->getHistBoundaries( lumLeft, lumRight, 00269 redLeft, redRight, 00270 greenLeft, greenRight, 00271 blueLeft, blueRight ); 00272 } 00273 else 00274 { 00275 lumLeft = 0; lumRight = 255; 00276 redLeft = 0; redRight = 255; 00277 greenLeft = 0; greenRight = 255; 00278 blueLeft = 0; blueRight = 255; 00279 } 00280 }

QImage * HistogramEditor::getModifiedImage  ) 
 

get modified image that resulted from adjustments

Definition at line 228 of file histogramEditor.cpp.

References adjustImage(), and fileName.

Referenced by EditingInterface::tuneLevels().

00229 { 00230 QImage* adjustedImage = new QImage(fileName); 00231 00232 //convert to 32-bit depth if necessary 00233 if( adjustedImage->depth() < 32 ) 00234 { 00235 QImage* tmp = adjustedImage; 00236 adjustedImage = new QImage( tmp->convertDepth( 32, Qt::AutoColor ) ); 00237 delete tmp; tmp=NULL; 00238 } 00239 00240 adjustImage( *adjustedImage ); 00241 return adjustedImage; 00242 }

void HistogramEditor::keyPressEvent QKeyEvent *  e  )  [protected]
 

Definition at line 392 of file histogramEditor.cpp.

References ADJUSTED_IMAGE, INV_SPLIT_VIEW, keyPressEvent(), ORIGINAL_IMAGE, PREVIEW_MODE, previewInterface, previewSelection, and SplitViewInterface::setPreviewMode().

Referenced by keyPressEvent().

00393 { 00394 if(e->key() == Qt::Key_Control ) 00395 { 00396 PREVIEW_MODE curMode = (PREVIEW_MODE) previewSelection->currentItem(); 00397 if(curMode == ORIGINAL_IMAGE) 00398 previewInterface->setPreviewMode( ADJUSTED_IMAGE, true ); 00399 else if(curMode == ADJUSTED_IMAGE) 00400 previewInterface->setPreviewMode( ORIGINAL_IMAGE, true ); 00401 else 00402 previewInterface->setPreviewMode( INV_SPLIT_VIEW ); 00403 } 00404 else { QDialog::keyPressEvent(e); } 00405 }

void HistogramEditor::keyReleaseEvent QKeyEvent *  e  )  [protected]
 

Definition at line 407 of file histogramEditor.cpp.

References keyReleaseEvent(), PREVIEW_MODE, previewInterface, previewSelection, and SplitViewInterface::setPreviewMode().

Referenced by keyReleaseEvent().

00408 { 00409 if(e->key() == Qt::Key_Control ) 00410 { 00411 previewInterface->setPreviewMode( (PREVIEW_MODE) previewSelection->currentItem(), 00412 false ); 00413 } 00414 else { QDialog::keyReleaseEvent(e); } 00415 }

void HistogramEditor::resetAction  )  [private, slot]
 

resets all adjustments

Definition at line 221 of file histogramEditor.cpp.

References histogramInterface, HistogramInterface::resetBoundaries(), resetBrightness(), and resetContrast().

Referenced by HistogramEditor().

00222 { 00223 histogramInterface->resetBoundaries(); 00224 resetBrightness(); 00225 resetContrast(); 00226 }

void HistogramEditor::resetBrightness  )  [private, slot]
 

reset brightness

Definition at line 254 of file histogramEditor.cpp.

References brightness.

Referenced by HistogramEditor(), and resetAction().

00255 { brightness->setValue( 0 ); }

void HistogramEditor::resetContrast  )  [private, slot]
 

reset contrast

Definition at line 257 of file histogramEditor.cpp.

References contrast.

Referenced by HistogramEditor(), and resetAction().

00258 { contrast->setValue( 0 ); }

double HistogramEditor::scaleColor double  color,
int  left,
int  right
[private]
 

Definition at line 387 of file histogramEditor.cpp.

References scaleColor().

Referenced by adjustImage(), and scaleColor().

00388 { 00389 return QMAX( QMIN( (255.0*(color-left)) / (right-left), 255), 0 ); 00390 }

void HistogramEditor::selectHistogramType int  selection  )  [private, slot]
 

updates historgram interface

Definition at line 249 of file histogramEditor.cpp.

References DISPLAYED_CHANNEL, histogramInterface, selectHistogramType(), and HistogramInterface::setDisplayChannel().

Referenced by HistogramEditor(), and selectHistogramType().

00250 { 00251 histogramInterface->setDisplayChannel( (DISPLAYED_CHANNEL) selection ); 00252 }

void HistogramEditor::selectPreviewImageType int  selection  )  [private, slot]
 

updates preview image

Definition at line 244 of file histogramEditor.cpp.

References PREVIEW_MODE, previewInterface, selectPreviewImageType(), and SplitViewInterface::setPreviewMode().

Referenced by HistogramEditor(), and selectPreviewImageType().

00245 { 00246 previewInterface->setPreviewMode( (PREVIEW_MODE)selection ); 00247 }


Member Data Documentation

DynamicSlider* HistogramEditor::brightness [private]
 

Brightness slider.

Definition at line 105 of file histogramEditor.h.

Referenced by adjustImage(), applyAction(), HistogramEditor(), and resetBrightness().

ClickableLabel* HistogramEditor::brightnessIcon [private]
 

Definition at line 99 of file histogramEditor.h.

Referenced by HistogramEditor().

QFrame* HistogramEditor::buttonsFrame [private]
 

Definition at line 101 of file histogramEditor.h.

Referenced by HistogramEditor().

DynamicSlider* HistogramEditor::contrast [private]
 

Contrast slider.

Definition at line 108 of file histogramEditor.h.

Referenced by adjustImage(), applyAction(), HistogramEditor(), and resetContrast().

ClickableLabel* HistogramEditor::contrastIcon [private]
 

Definition at line 100 of file histogramEditor.h.

Referenced by HistogramEditor().

QString HistogramEditor::fileName [private]
 

Definition at line 86 of file histogramEditor.h.

Referenced by getModifiedImage().

HistogramInterface* HistogramEditor::histogramInterface [private]
 

Histogram view.

Definition at line 95 of file histogramEditor.h.

Referenced by adjustImage(), applyAction(), getHistBoundaries(), HistogramEditor(), resetAction(), and selectHistogramType().

QComboBox* HistogramEditor::histogramType [private]
 

Definition at line 98 of file histogramEditor.h.

Referenced by HistogramEditor().

double HistogramEditor::meanB [private]
 

Mean color values.

Definition at line 89 of file histogramEditor.h.

Referenced by adjustImage(), and HistogramEditor().

double HistogramEditor::meanG [private]
 

Mean color values.

Definition at line 89 of file histogramEditor.h.

Referenced by adjustImage(), and HistogramEditor().

double HistogramEditor::meanR [private]
 

Mean color values.

Definition at line 89 of file histogramEditor.h.

Referenced by adjustImage(), and HistogramEditor().

ScaledPreviewInterface* HistogramEditor::previewInterface [private]
 

Preview image.

Definition at line 92 of file histogramEditor.h.

Referenced by generateAdjustedPreviewImage(), HistogramEditor(), keyPressEvent(), keyReleaseEvent(), and selectPreviewImageType().

QComboBox* HistogramEditor::previewSelection [private]
 

Definition at line 97 of file histogramEditor.h.

Referenced by HistogramEditor(), keyPressEvent(), and keyReleaseEvent().


The documentation for this class was generated from the following files:
Generated on Sun Mar 4 19:43:06 2007 for AlbumShaper by doxygen 1.3.7