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

LayoutWidget Class Reference

#include <layoutWidget.h>

Inheritance diagram for LayoutWidget:

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

Detailed Description

Displays list of subalbums and a particular subalbum layout.

Definition at line 35 of file layoutWidget.h.

Public Slots

void setEditTabEnabled (bool val)
void editSelectedPhoto ()
 Edits first select photo.

void organize ()
 Select organize tab.

void photoStateChangedEvent ()
 handle the changing state of selected/shown photos

void refreshSelectedCollectionIconName ()
 updates the selected collection icon name

void updateSubalbumImage (QPixmap *val)
 Updates the current subalbums image.


Signals

void collectionSelected (Subalbum *)

Public Member Functions

 LayoutWidget (QWidget *parent=0, const char *name=0)
 Creates empty layout.

SubalbumWidgetgetSubalbum ()
 Returns a pointer to the subalbum.

SubalbumsWidgetgetSubalbums ()
 Returns a pointer to the subalbums.

WindowgetWindow ()
 Returns a pointer to the window.

void refresh ()
 Refreshes layout.

void revertPhotos ()
 Reverts all selected photos in organize mode, or currently shown photo if in editing mode.


Private Slots

void tabChanged (QWidget *widget)
 handle tab shown changed signal

void showCollection (Subalbum *collection)

Private Attributes

Windowwindow
 Window pointer.

QGridLayout * grid
 Grid items placed in.

SubalbumsWidgetsubalbums
 List of subalbums.

QTabWidget * tabbedArea
 Tab widget containing organize and edit widgets.

SubalbumWidgetsubalbum
 Collection organize widget.

EditingInterfaceeditingInterface
 Editing interface.


Constructor & Destructor Documentation

LayoutWidget::LayoutWidget QWidget parent = 0,
const char *  name = 0
 

Creates empty layout.

Definition at line 30 of file layoutWidget.cpp.

References collectionSelected(), editingInterface, grid, LayoutWidget(), photoStateChangedEvent(), showCollection(), subalbum, subalbums, tabbedArea, tabChanged(), and window.

Referenced by LayoutWidget().

00030 : QWidget(parent,name) 00031 { 00032 window = (Window*)parent; 00033 subalbums = new SubalbumsWidget( this, "subalbums" ); 00034 connect( subalbums, SIGNAL( collectionSelected(Subalbum*)), 00035 this, SLOT( showCollection( Subalbum* )) ); 00036 00037 subalbum = new SubalbumWidget( NULL, this, "subalbum" ); 00038 editingInterface = new EditingInterface( this, "editingInterface" ); 00039 00040 tabbedArea = new QTabWidget( this, "tabbedArea" ); 00041 tabbedArea->addTab(subalbum, tr("Organize") ); 00042 tabbedArea->addTab(editingInterface, tr("Edit") ); 00043 00044 //by default no photo has been edited 00045 tabbedArea->setTabEnabled(editingInterface, false); 00046 00047 //catch changing tab selection in order to 00048 //initialize editing interface if it was selected 00049 connect( tabbedArea, SIGNAL( currentChanged(QWidget*) ), 00050 this, SLOT( tabChanged(QWidget*) ) ); 00051 00052 //catch selectedPhotoStateChanged signal in order to 00053 //enable/disable Photos and Tools menu items 00054 connect( subalbum, SIGNAL( selectedPhotoStateChanged() ), 00055 this, SLOT( photoStateChangedEvent() ) ); 00056 00057 //catch photo modified signal in order to 00058 //enable/disable Photos and Tools menu items 00059 connect( editingInterface, SIGNAL( photoModified() ), 00060 this, SLOT( photoStateChangedEvent() ) ); 00061 00062 //place the subalbums list and tabbed area in grid 00063 grid = new QGridLayout( this, 1, 2, 0 ); 00064 00065 grid->addWidget( subalbums, 0, 0 ); 00066 grid->setColSpacing( 0, subalbums->sizeHint().width() ); 00067 00068 grid->addWidget( tabbedArea, 0, 1 ); 00069 grid->setColStretch( 1, 1 ); 00070 }


Member Function Documentation

void LayoutWidget::collectionSelected Subalbum  )  [signal]
 

Referenced by LayoutWidget(), and showCollection().

void LayoutWidget::editSelectedPhoto  )  [slot]
 

Edits first select photo.

Definition at line 151 of file layoutWidget.cpp.

References editingInterface, and tabbedArea.

00152 { 00153 tabbedArea->showPage( editingInterface ); 00154 }

SubalbumWidget * LayoutWidget::getSubalbum  ) 
 

Returns a pointer to the subalbum.

Definition at line 94 of file layoutWidget.cpp.

References subalbum.

Referenced by TitleWidget::dropEvent(), TitleWidget::exportLargeImages(), TitleWidget::exportSmallWebGallery(), TitleWidget::loadAlbum(), TitleWidget::newAlbum(), TitleWidget::removeSelectedPhotoDesc(), TitleWidget::saveAlbum(), TitleWidget::saveAsAlbum(), TitleWidget::setAlbumImage(), and TitleWidget::setSubalbumImage().

00095 { 00096 return subalbum; 00097 }

SubalbumsWidget * LayoutWidget::getSubalbums  ) 
 

Returns a pointer to the subalbums.

Definition at line 99 of file layoutWidget.cpp.

References subalbums.

Referenced by SubalbumWidget::addImageAction(), TitleWidget::exportLargeImages(), TitleWidget::exportSmallWebGallery(), TitleWidget::loadAlbum(), SubalbumWidget::removeImageAction(), SubalbumWidget::rotate270ImageAction(), SubalbumWidget::rotate90ImageAction(), TitleWidget::saveAlbum(), TitleWidget::saveAsAlbum(), TitleWidget::setSubalbumImage(), TitleWidget::storeAnnotations(), and TitleWidget::unsetSubalbumImage().

00100 { 00101 return subalbums; 00102 }

Window * LayoutWidget::getWindow  ) 
 

Returns a pointer to the window.

Definition at line 104 of file layoutWidget.cpp.

References window.

Referenced by SubalbumWidget::addImageAction(), EditingInterface::adjustGrain(), EditingInterface::applyEffect(), EditingInterface::colorBalance(), SubalbumsWidget::createAction(), EditingInterface::crop(), SubalbumsWidget::deleteAction(), EditingInterface::enhanceContrast(), EditingInterface::finishCorrectTilt(), SubalbumsWidget::handleSelectionAttempt(), SubalbumsWidget::refreshCollectionsList(), SubalbumWidget::removeImageAction(), EditingInterface::removeRedeye(), SubalbumsWidget::reorder(), EditingInterface::revertCurrentPhoto(), SubalbumWidget::rotate270ImageAction(), SubalbumWidget::rotate90ImageAction(), EditingInterface::rotateFlip(), and EditingInterface::tuneLevels().

00105 { 00106 return window; 00107 }

void LayoutWidget::organize  )  [slot]
 

Select organize tab.

Definition at line 156 of file layoutWidget.cpp.

References tabbedArea.

Referenced by EditingInterface::returnAction(), and showCollection().

00157 { 00158 tabbedArea->setCurrentPage( 0 ); 00159 }

void LayoutWidget::photoStateChangedEvent  )  [slot]
 

handle the changing state of selected/shown photos

Definition at line 174 of file layoutWidget.cpp.

References SubalbumWidget::anyPhotosSelected(), SubalbumWidget::anySelectedPhotosRevertable(), EditingInterface::currentPhotoRevertable(), editingInterface, Window::getTitle(), subalbum, tabbedArea, TitleWidget::updateMenus(), and window.

Referenced by LayoutWidget(), and tabChanged().

00175 { 00176 //determine if: 00177 //1.) any photos are selected - false if in editing mode 00178 //2.) if any revertable photos are selected/shown 00179 bool anySelected = false; 00180 bool anyRevertable = false; 00181 00182 if( tabbedArea->currentPage() == subalbum ) 00183 { 00184 anySelected = subalbum->anyPhotosSelected(); 00185 anyRevertable = anySelected && subalbum->anySelectedPhotosRevertable(); 00186 } 00187 else 00188 { 00189 //none selected in editing mode 00190 anySelected = false; 00191 anyRevertable = editingInterface->currentPhotoRevertable(); 00192 } 00193 00194 //update menus 00195 window->getTitle()->updateMenus(anySelected, anyRevertable); 00196 }

void LayoutWidget::refresh  ) 
 

Refreshes layout.

Definition at line 109 of file layoutWidget.cpp.

References SubalbumsWidget::refreshCollectionsList(), and subalbums.

Referenced by Window::refresh(), and Window::Window().

00110 { 00111 subalbums->refreshCollectionsList(); 00112 }

void LayoutWidget::refreshSelectedCollectionIconName  )  [slot]
 

updates the selected collection icon name

Definition at line 84 of file layoutWidget.cpp.

References SubalbumsWidget::refreshSelectedCollectionName(), and subalbums.

00085 { 00086 subalbums->refreshSelectedCollectionName(); 00087 }

void LayoutWidget::revertPhotos  ) 
 

Reverts all selected photos in organize mode, or currently shown photo if in editing mode.

Definition at line 166 of file layoutWidget.cpp.

References editingInterface, EditingInterface::revertCurrentPhoto(), SubalbumWidget::revertSelectedPhotos(), subalbum, and tabbedArea.

Referenced by TitleWidget::revertPhotos().

00167 { 00168 if( tabbedArea->currentPage() == subalbum ) 00169 subalbum->revertSelectedPhotos(); 00170 else if( tabbedArea->currentPage() == editingInterface ) 00171 editingInterface->revertCurrentPhoto(); 00172 }

void LayoutWidget::setEditTabEnabled bool  val  )  [slot]
 

Definition at line 161 of file layoutWidget.cpp.

References editingInterface, setEditTabEnabled(), and tabbedArea.

Referenced by setEditTabEnabled(), and SubalbumWidget::updateButtons().

00162 { 00163 tabbedArea->setTabEnabled(editingInterface, val); 00164 }

void LayoutWidget::showCollection Subalbum collection  )  [private, slot]
 

Definition at line 72 of file layoutWidget.cpp.

References collectionSelected(), organize(), SubalbumWidget::setSubalbum(), showCollection(), and subalbum.

Referenced by LayoutWidget(), and showCollection().

00073 { 00074 //ensure currently in organize mode 00075 organize(); 00076 00077 //load collection 00078 subalbum->setSubalbum(collection); 00079 00080 //pass signal on so title area can update as well 00081 emit collectionSelected( collection ); 00082 }

void LayoutWidget::tabChanged QWidget widget  )  [private, slot]
 

handle tab shown changed signal

get current collection and photo pointers

Definition at line 114 of file layoutWidget.cpp.

References editingInterface, SubalbumWidget::getFirstSelectedPhoto(), EditingInterface::getPhoto(), SubalbumWidget::getSubalbum(), photoStateChangedEvent(), SubalbumWidget::refreshAllPhotos(), EditingInterface::setFocus(), EditingInterface::setPhoto(), SubalbumWidget::setSelectedPhoto(), subalbum, and tabChanged().

Referenced by LayoutWidget(), and tabChanged().

00115 { 00116 //orignize tab seleced 00117 if(widget != editingInterface) 00118 { 00119 //refresh all thumbnails since any could have changed 00120 subalbum->refreshAllPhotos(); 00121 00122 //handle the selected/shown photo state having been changed 00123 photoStateChangedEvent(); 00124 00125 //find and select the last shown photo in the 00126 //editing interface, unselect all other items 00127 subalbum->setSelectedPhoto( editingInterface->getPhoto() ); 00128 00129 return; 00130 } 00131 //edit tab selected - init editor 00132 else 00133 { 00135 Subalbum* collection = subalbum->getSubalbum(); 00136 Photo* photo = subalbum->getFirstSelectedPhoto(); 00137 00138 //bail if either pointer is null (sanity check) 00139 if(collection == NULL || photo == NULL) 00140 return; 00141 00142 //init editing interface for current collection:photo 00143 editingInterface->setPhoto( collection, photo); 00144 editingInterface->setFocus(); 00145 00146 //handle the selected/shown photo state having been changed 00147 photoStateChangedEvent(); 00148 } 00149 }

void LayoutWidget::updateSubalbumImage QPixmap *  val  )  [slot]
 

Updates the current subalbums image.

Definition at line 89 of file layoutWidget.cpp.

References subalbums, SubalbumsWidget::updatedSelectedCollectionImage(), and updateSubalbumImage().

Referenced by updateSubalbumImage().

00090 { 00091 subalbums->updatedSelectedCollectionImage(val); 00092 }


Member Data Documentation

EditingInterface* LayoutWidget::editingInterface [private]
 

Editing interface.

Definition at line 76 of file layoutWidget.h.

Referenced by editSelectedPhoto(), LayoutWidget(), photoStateChangedEvent(), revertPhotos(), setEditTabEnabled(), and tabChanged().

QGridLayout* LayoutWidget::grid [private]
 

Grid items placed in.

Definition at line 64 of file layoutWidget.h.

Referenced by LayoutWidget().

SubalbumWidget* LayoutWidget::subalbum [private]
 

Collection organize widget.

Definition at line 73 of file layoutWidget.h.

Referenced by getSubalbum(), LayoutWidget(), photoStateChangedEvent(), revertPhotos(), showCollection(), and tabChanged().

SubalbumsWidget* LayoutWidget::subalbums [private]
 

List of subalbums.

Definition at line 67 of file layoutWidget.h.

Referenced by getSubalbums(), LayoutWidget(), refresh(), refreshSelectedCollectionIconName(), and updateSubalbumImage().

QTabWidget* LayoutWidget::tabbedArea [private]
 

Tab widget containing organize and edit widgets.

Definition at line 70 of file layoutWidget.h.

Referenced by editSelectedPhoto(), LayoutWidget(), organize(), photoStateChangedEvent(), revertPhotos(), and setEditTabEnabled().

Window* LayoutWidget::window [private]
 

Window pointer.

Definition at line 61 of file layoutWidget.h.

Referenced by getWindow(), LayoutWidget(), and photoStateChangedEvent().


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