Phoenix Logo

phoenix_title wx.lib.agw.thumbnailctrl.ScrolledThumbnail

This is the main class implementation of ThumbnailCtrl.


class_hierarchy Class Hierarchy

Inheritance diagram for class ScrolledThumbnail:


super_classes Known Superclasses

wx.ScrolledWindow


method_summary Methods Summary

__init__ Default class constructor.
CalculateBestCaption Calculates the best caption string to show based on the actual zoom factor.
Clear Clears ThumbnailCtrl.
DeleteFiles Deletes the selected thumbnails and their associated files.
DrawThumbnail Draws a visible thumbnail.
EnableDragging Enables/disables thumbnails drag and drop.
EnableToolTips Globally enables/disables thumbnail file information.
GetCaption Returns the thumbnail caption.
GetCaptionFont Returns the font for all the thumbnail captions.
GetCaptionHeight Returns the height for the file name caption.
GetDropShadow Returns whether to drop a shadow behind thumbnails or not.
GetGlobalPopupMenu Returns the global thumbnailss popup menu (no need of thumbnail selection).
GetHighlightPointed Returns whether the thumbnail pointed should be highlighted or not.
GetItem Returns the item at position index.
GetItemCount Returns the number of thumbnails.
GetItemIndex Returns the thumbnail index at position (x, y).
GetOriginalImage Returns the original image associated to a thumbnail.
GetPaintRect Returns the paint bounding rect for the OnPaint method.
GetPointed Returns the pointed thumbnail index.
GetPointedItem Returns the pointed thumbnail.
GetPopupMenu Returns the thumbnails popup menu when at least one thumbnail is selected.
GetSelectedItem Returns the selected thumbnail.
GetSelection Returns the selected thumbnail.
GetSelectionColour Returns the colour used to indicate a selected thumbnail.
GetShowDir Returns the working directory with images.
GetThumbBorder Returns the thumbnail border.
GetThumbHeight Returns the thumbnail height.
GetThumbInfo Returns the thumbnail information.
GetThumbOutline Returns the thumbnail outline style on selection.
GetThumbSize Returns the thumbnail size as width, height and border.
GetThumbWidth Returns the thumbnail width.
GetZoomFactor Returns the zoom factor.
InsertItem Inserts a thumbnail in the specified position.
IsAudio Returns True if a file contains audio data.
IsAudioVideo Returns True if a file contains either audio or video data.
IsSelected Returns whether a thumbnail is selected or not.
IsVideo Returns True if a file contains video data.
ListDirectory Returns list of file info objects for files of particular extensions.
LoadImages Threaded method to load images. Used internally.
OnChar Handles the wx.EVT_CHAR event for ThumbnailCtrl.
OnMouseDClick Handles the wx.EVT_LEFT_DCLICK event for ThumbnailCtrl.
OnMouseDown Handles the wx.EVT_LEFT_DOWN and wx.EVT_RIGHT_DOWN events for ThumbnailCtrl.
OnMouseLeave Handles the wx.EVT_LEAVE_WINDOW event for ThumbnailCtrl.
OnMouseMove Handles the wx.EVT_MOTION event for ThumbnailCtrl.
OnMouseUp Handles the wx.EVT_LEFT_UP and wx.EVT_RIGHT_UP events for ThumbnailCtrl.
OnMouseWheel Handles the wx.EVT_MOUSEWHEEL event for ThumbnailCtrl.
OnPaint Handles the wx.EVT_PAINT event for ThumbnailCtrl.
OnResize Handles the wx.EVT_SIZE event for ThumbnailCtrl.
OnThumbChanged Handles the EVT_THUMBNAILS_THUMB_CHANGED event for ThumbnailCtrl.
RemoveItemAt Removes a thumbnail at the specified position.
Rotate Rotates the selected thumbnails by the angle specified by angle.
ScrollToSelected Scrolls the ScrolledWindow to the selected thumbnail.
SetCaption Sets the current caption string.
SetCaptionFont Sets the font for all the thumbnail captions.
SetDropShadow Sets whether to drop a shadow behind thumbnails or not.
SetGlobalPopupMenu Sets the global thumbnails popup menu (no need of thumbnail selection).
SetHighlightPointed Sets whether the thumbnail pointed should be highlighted or not.
SetLabelControl Sets the thumbnail label as StaticText.
SetOrientation Set the ThumbnailCtrl orientation (partially implemented).
SetPopupMenu Sets the thumbnails popup menu when at least one thumbnail is selected.
SetSelection Sets thumbnail selection.
SetSelectionColour Sets the colour used to indicate a selected thumbnail.
SetThumbOutline Sets the thumbnail outline style on selection.
SetThumbSize Sets the thumbnail size as width, height and border.
SetZoomFactor Sets the zoom factor.
ShowDir Shows thumbnails for a particular folder.
ShowFileNames Sets whether the user wants to show file names under the thumbnails or not.
ShowThumbs Shows all the thumbnails.
SortItems Sorts the items accordingly to the CmpThumb function.
ThreadImage Threaded method to load images. Used internally.
UpdateItems Updates thumbnail items.
UpdateProp Updates ThumbnailCtrl and its visible thumbnails.
UpdateShow Updates thumbnail items.
ZoomIn Zooms the thumbnails in.
ZoomOut Zooms the thumbnails out.

api Class API



class ScrolledThumbnail(wx.ScrolledWindow)

This is the main class implementation of ThumbnailCtrl.


Methods



__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, thumboutline=THUMB_OUTLINE_IMAGE, thumbfilter=THUMB_FILTER_IMAGES, imagehandler=PILImageHandler)

Default class constructor.

Parameters:
  • parent – parent window. Must not be None;
  • id – window identifier. A value of -1 indicates a default value;
  • pos – the control position. A value of (-1, -1) indicates a default position, chosen by either the windowing system or wxPython, depending on platform;
  • size – the control size. A value of (-1, -1) indicates a default size, chosen by either the windowing system or wxPython, depending on platform;
  • thumboutline – outline style for ScrolledThumbnail, which may be:

    Outline Flag Value Description
    THUMB_OUTLINE_NONE 0 No outline is drawn on selection
    THUMB_OUTLINE_FULL 1 Full outline (image+caption) is drawn on selection
    THUMB_OUTLINE_RECT 2 Only thumbnail bounding rectangle is drawn on selection (default)
    THUMB_OUTLINE_IMAGE 4 Only image bounding rectangle is drawn.
  • thumbfilter – filter for image/video/audio files. Actually only THUMB_FILTER_IMAGES is implemented;
  • imagehandler – can be PILImageHandler if PIL is installed (faster), or NativeImageHandler which only uses wxPython image methods.


CalculateBestCaption(self, dc, caption, sw, width)

Calculates the best caption string to show based on the actual zoom factor.

Parameters:
  • dc – an instance of wx.DC;
  • caption – the original caption string;
  • sw – the maximum width allowed for the caption string, in pixels;
  • width – the caption string width, in pixels.


Clear(self)

Clears ThumbnailCtrl.



DeleteFiles(self)

Deletes the selected thumbnails and their associated files.

Warning

This method deletes the original files too.



DrawThumbnail(self, bmp, thumb, index)

Draws a visible thumbnail.

Parameters:
  • bmp – the thumbnail version of the original image;
  • thumb – an instance of Thumb;
  • index – the index of the thumbnail to draw.


EnableDragging(self, enable=True)

Enables/disables thumbnails drag and drop.

Parameters:enableTrue to enable drag and drop, False to disable it.


EnableToolTips(self, enable=True)

Globally enables/disables thumbnail file information.

Parameters:enableTrue to enable thumbnail file information, False to disable it.


GetCaption(self)

Returns the thumbnail caption.



GetCaptionFont(self)

Returns the font for all the thumbnail captions.



GetCaptionHeight(self, begRow, count=1)

Returns the height for the file name caption.

Parameters:
  • begRow – the caption line at which we start measuring the height;
  • count – the number of lines to measure.


GetDropShadow(self)

Returns whether to drop a shadow behind thumbnails or not.



GetGlobalPopupMenu(self)

Returns the global thumbnailss popup menu (no need of thumbnail selection).



GetHighlightPointed(self)

Returns whether the thumbnail pointed should be highlighted or not.

Note

Please be aware that this functionality may be slow on slower computers.



GetItem(self, index)

Returns the item at position index.

Parameters:index – the thumbnail index position.


GetItemCount(self)

Returns the number of thumbnails.



GetItemIndex(self, x, y)

Returns the thumbnail index at position (x, y).

Parameters:
  • x – the mouse x position;
  • y – the mouse y position.


GetOriginalImage(self, index=None)

Returns the original image associated to a thumbnail.

Parameters:index – the index of the thumbnail. If defaulted to None, the current selection is used.


GetPaintRect(self)

Returns the paint bounding rect for the OnPaint method.



GetPointed(self)

Returns the pointed thumbnail index.



GetPointedItem(self)

Returns the pointed thumbnail.



GetPopupMenu(self)

Returns the thumbnails popup menu when at least one thumbnail is selected.



GetSelectedItem(self, index)

Returns the selected thumbnail.

Parameters:index – the thumbnail index (i.e., the selection).


GetSelection(self, selIndex=-1)

Returns the selected thumbnail.

Parameters:selIndex – if not equal to -1, the index of the selected thumbnail.


GetSelectionColour(self)

Returns the colour used to indicate a selected thumbnail.



GetShowDir(self)

Returns the working directory with images.



GetThumbBorder(self)

Returns the thumbnail border.



GetThumbHeight(self)

Returns the thumbnail height.



GetThumbInfo(self, thumb=-1)

Returns the thumbnail information.

Parameters:thumb – the index of the thumbnail for which we are collecting information.


GetThumbOutline(self)

Returns the thumbnail outline style on selection.

See also

SetThumbOutline for a list of possible return values.



GetThumbSize(self)

Returns the thumbnail size as width, height and border.



GetThumbWidth(self)

Returns the thumbnail width.



GetZoomFactor(self)

Returns the zoom factor.



InsertItem(self, thumb, pos)

Inserts a thumbnail in the specified position.

Parameters:pos – the index at which we wish to insert the new thumbnail.


IsAudio(self, fname)

Returns True if a file contains audio data. Currently unused as ThumbnailCtrl recognizes only image files.

Parameters:fname – a file name.

Todo

Find a way to create thumbnails of video, audio and other formats.



IsAudioVideo(self, fname)

Returns True if a file contains either audio or video data. Currently unused as ThumbnailCtrl recognizes only image files.

Parameters:fname – a file name.

Todo

Find a way to create thumbnails of video, audio and other formats.



IsSelected(self, indx)

Returns whether a thumbnail is selected or not.

Parameters:indx – the index of the thumbnail to check for selection.


IsVideo(self, fname)

Returns True if a file contains video data. Currently unused as ThumbnailCtrl recognizes only image files.

Parameters:fname – a file name.

Todo

Find a way to create thumbnails of video, audio and other formats.



ListDirectory(self, directory, fileExtList)

Returns list of file info objects for files of particular extensions.

Parameters:
  • directory – the folder containing the images to thumbnail;
  • fileExtList – a Python list of file extensions to consider.


LoadImages(self, newfile, imagecount)

Threaded method to load images. Used internally.

Parameters:
  • newfile – a file name containing an image to thumbnail;
  • imagecount – the number of images loaded until now.


OnChar(self, event)

Handles the wx.EVT_CHAR event for ThumbnailCtrl.

Parameters:event – a KeyEvent event to be processed.

Note

You have these choices:

  1. d key rotates 90 degrees clockwise the selected thumbnails;
  2. s key rotates 90 degrees counter-clockwise the selected thumbnails;
  3. a key rotates 180 degrees the selected thumbnails;
  4. Del key deletes the selected thumbnails;
  5. + key zooms in;
  6. - key zooms out.


OnMouseDClick(self, event)

Handles the wx.EVT_LEFT_DCLICK event for ThumbnailCtrl.

Parameters:event – a MouseEvent event to be processed.


OnMouseDown(self, event)

Handles the wx.EVT_LEFT_DOWN and wx.EVT_RIGHT_DOWN events for ThumbnailCtrl.

Parameters:event – a MouseEvent event to be processed.


OnMouseLeave(self, event)

Handles the wx.EVT_LEAVE_WINDOW event for ThumbnailCtrl.

Parameters:event – a MouseEvent event to be processed.


OnMouseMove(self, event)

Handles the wx.EVT_MOTION event for ThumbnailCtrl.

Parameters:event – a MouseEvent event to be processed.


OnMouseUp(self, event)

Handles the wx.EVT_LEFT_UP and wx.EVT_RIGHT_UP events for ThumbnailCtrl.

Parameters:event – a MouseEvent event to be processed.


OnMouseWheel(self, event)

Handles the wx.EVT_MOUSEWHEEL event for ThumbnailCtrl.

Parameters:event – a MouseEvent event to be processed.

Note

If you hold down the Ctrl key, you can zoom in/out with the mouse wheel.



OnPaint(self, event)

Handles the wx.EVT_PAINT event for ThumbnailCtrl.

Parameters:event – a PaintEvent event to be processed.


OnResize(self, event)

Handles the wx.EVT_SIZE event for ThumbnailCtrl.

Parameters:event – a wx.SizeEvent event to be processed.


OnThumbChanged(self, event)

Handles the EVT_THUMBNAILS_THUMB_CHANGED event for ThumbnailCtrl.

Parameters:event – a ThumbnailEvent event to be processed.


RemoveItemAt(self, pos)

Removes a thumbnail at the specified position.

Parameters:pos – the index at which we wish to remove the thumbnail.


Rotate(self, angle=90)

Rotates the selected thumbnails by the angle specified by angle.

Parameters:angle – the rotation angle for the thumbnail, in degrees.


ScrollToSelected(self)

Scrolls the ScrolledWindow to the selected thumbnail.



SetCaption(self, caption="")

Sets the current caption string.

Parameters:caption – the current caption string.


SetCaptionFont(self, font=None)

Sets the font for all the thumbnail captions.

Parameters:font – a valid wx.Font object. If defaulted to None, a standard font will be generated.


SetDropShadow(self, drop)

Sets whether to drop a shadow behind thumbnails or not.

Parameters:dropTrue to drop a shadow behind each thumbnail, False otheriwise.


SetGlobalPopupMenu(self, gpmenu)

Sets the global thumbnails popup menu (no need of thumbnail selection).

Parameters:gpmenu – an instance of wx.Menu.


SetHighlightPointed(self, highlight=True)

Sets whether the thumbnail pointed should be highlighted or not.

Parameters:highlightTrue to enable highlight-on-point with the mouse, False otherwise.

Note

Please be aware that this functionality may be slow on slower computers.



SetLabelControl(self, statictext)

Sets the thumbnail label as StaticText.

Parameters:statictext – an instance of StaticText.


SetOrientation(self, orient=THUMB_VERTICAL)

Set the ThumbnailCtrl orientation (partially implemented).

Parameters:orient – one of THUMB_VERTICAL, THUMB_HORIZONTAL.

Todo

Correctly implement the THUMB_HORIZONTAL orientation.



SetPopupMenu(self, menu)

Sets the thumbnails popup menu when at least one thumbnail is selected.

Parameters:menu – an instance of wx.Menu.


SetSelection(self, value=-1)

Sets thumbnail selection.

Parameters:value – the thumbnail index to select.


SetSelectionColour(self, colour=None)

Sets the colour used to indicate a selected thumbnail.

Parameters:colour – a valid wx.Colour object. If defaulted to None, it will be taken from the system settings.


SetThumbOutline(self, outline)

Sets the thumbnail outline style on selection.

Parameters:outline – the outline to use on selection. This can be one of the following bits:

Outline Flag Value Description
THUMB_OUTLINE_NONE 0 No outline is drawn on selection
THUMB_OUTLINE_FULL 1 Full outline (image+caption) is drawn on selection
THUMB_OUTLINE_RECT 2 Only thumbnail bounding rectangle is drawn on selection (default)
THUMB_OUTLINE_IMAGE 4 Only image bounding rectangle is drawn.


SetThumbSize(self, width, height, border=6)

Sets the thumbnail size as width, height and border.

Parameters:
  • width – the desired thumbnail width;
  • height – the desired thumbnail height;
  • border – the spacing between thumbnails.


SetZoomFactor(self, zoom=1.4)

Sets the zoom factor.

Parameters:zoom – a floating point number representing the zoom factor. Must be greater than or equal to 1.0.


ShowDir(self, folder, filter=THUMB_FILTER_IMAGES)

Shows thumbnails for a particular folder.

Parameters:
  • folder – a directory containing the images to thumbnail;
  • filter – filter images, video audio (currently implemented only for images).

Todo

Find a way to create thumbnails of video, audio and other formats.



ShowFileNames(self, show=True)

Sets whether the user wants to show file names under the thumbnails or not.

Parameters:showTrue to show file names under the thumbnails, False otherwise.


ShowThumbs(self, thumbs, caption)

Shows all the thumbnails.

Parameters:
  • thumbs – should be a sequence with instances of Thumb;
  • caption – the caption text for the current selected thumbnail.


SortItems(self)

Sorts the items accordingly to the CmpThumb function.



ThreadImage(self, filenames)

Threaded method to load images. Used internally.

Parameters:filenames – a Python list of file names containing images.


UpdateItems(self)

Updates thumbnail items.



UpdateProp(self, checkSize=True)

Updates ThumbnailCtrl and its visible thumbnails.

Parameters:checkSizeTrue to update the items visibility if the window size has changed.


UpdateShow(self)

Updates thumbnail items.



ZoomIn(self)

Zooms the thumbnails in.



ZoomOut(self)

Zooms the thumbnails out.