Package wx :: Package lib :: Module flatnotebook

[frames | no frames]

## Module wx.lib.flatnotebook

The FlatNotebook is a full implementation of the wx.Notebook, and designed to be a drop-in replacement for wx.Notebook. The API functions are similar so one can expect the function to behave in the same way.

Some features:

- The buttons are highlighted a la Firefox style
- The scrolling is done for bulks of tabs (so, the scrolling is faster and better)
- The buttons area is never overdrawn by tabs (unlike many other implementations I saw)
- It is a generic control
- Currently there are 4 differnt styles - VC8, VC 71, Standard and Fancy
- Mouse middle click can be used to close tabs
- A function to add right click menu for tabs (simple as SetRightClickMenu)
- All styles has bottom style as well (they can be drawn in the bottom of screen)
- An option to hide 'X' button or navigation buttons (separately)
- Gradient coloring of the selected tabs and border
- Support for drag 'n' drop of tabs, both in the same notebook or to another notebook
- Possibility to have closing button on the active tab directly
- Support for disabled tabs
- Colours for active/inactive tabs, and captions
- Background of tab area can be painted in gradient (VC8 style only)
- Colourful tabs - a random gentle colour is generated for each new tab (very cool, VC8 style only)

And much more.

License And Version:

FlatNotebook Is Freeware And Distributed Under The wxPython License.

Latest Revision: Andrea Gavana @ 12 Oct 2006, 20.00 GMT

Version 2.0.

Classes
`FlatNotebook` | Display one or more windows in a notebook.
`FlatNotebookEvent` | This events will be sent when a EVT_FLATNOTEBOOK_PAGE_CHANGED, EVT_FLATNOTEBOOK_PAGE_CHANGING, EVT_FLATNOTEBOOK_PAGE_CLOSING, EVT_FLATNOTEBOOK_PAGE_CLOSED and EVT_FLATNOTEBOOK_PAGE_CONTEXT_MENU is mapped in the parent.
`FNBDropSource` | Give some custom UI feedback during the drag and drop operation in this function.
`FNBRenderer` | Parent class for the 4 renderers defined: Standard, VC71, Fancy and VC8.
`FNBRendererDefault` | This class handles the drawing of tabs using the Standard renderer.
`FNBRendererFancy` | This class handles the drawing of tabs using the Fancy renderer.
`FNBRendererMgr` | This class represents a manager that handles all the 4 renderers defined and calls the appropriate one when drawing is needed.
`FNBRendererVC71` | This class handles the drawing of tabs using the VC71 renderer.
`FNBRendererVC8` | This class handles the drawing of tabs using the VC8 renderer.
`PageContainer` | This class acts as a container for the pages you add to `FlatNotebook`.
`PageInfo` | This class holds all the information (caption, image, etc...) belonging to a single tab in `FlatNotebook`.
`TabNavigatorWindow` | This class is used to create a modal dialog that enables "Smart Tabbing", similar to what you would get by hitting Alt+Tab on Windows.

Function Summary
| ``LightColour`(color, percent)` Brighten input colour by percent.
| ``PaintStraightGradientBox`(dc, rect, startColor, endColor, vertical)` Draws a gradient colored box from startColor to endColor.
| ``RandomColour`()` Creates a random colour.

Variable Summary
`int` | `BUTTON_SPACE` = 16
`PyEventBinder` | `EVT_FLATNOTEBOOK_PAGE_CHANGED` = `<wx._core.PyEventBinder ...`
`PyEventBinder` | `EVT_FLATNOTEBOOK_PAGE_CHANGING` = `<wx._core.PyEventBinder...`
`PyEventBinder` | `EVT_FLATNOTEBOOK_PAGE_CLOSED` = `<wx._core.PyEventBinder o...`
`PyEventBinder` | `EVT_FLATNOTEBOOK_PAGE_CLOSING` = `<wx._core.PyEventBinder ...`
`PyEventBinder` | `EVT_FLATNOTEBOOK_PAGE_CONTEXT_MENU` = `<wx._core.PyEventBi...`
`int` | `FNB_ALLOW_FOREIGN_DND` = 32768
`int` | `FNB_BACKGROUND_GRADIENT` = 1024
`int` | `FNB_BOTTOM` = 64
`int` | `FNB_BTN_HOVER` = 1
`int` | `FNB_BTN_NONE` = 0
`int` | `FNB_BTN_PRESSED` = 2
`int` | `FNB_COLORFUL_TABS` = 2048
`int` | `FNB_DCLICK_CLOSES_TABS` = 4096
`int` | `FNB_DEFAULT_STYLE` = 65568
`int` | `FNB_DROPDOWN_TABS_LIST` = 16384
`int` | `FNB_FANCY_TABS` = 2
`int` | `FNB_HIDE_ON_SINGLE_TAB` = 65536
`int` | `FNB_MOUSE_MIDDLE_CLOSES_TABS` = 32
`int` | `FNB_NO_NAV_BUTTONS` = 16
`int` | `FNB_NO_X_BUTTON` = 8
`int` | `FNB_NODRAG` = 128
`int` | `FNB_SMART_TABS` = 8192
`int` | `FNB_TABS_BORDER_SIMPLE` = 4
`int` | `FNB_VC71` = 1
`int` | `FNB_VC8` = 256
`int` | `FNB_X_ON_TAB` = 512
`Colour` | `MASK_COLOR` = `wx.Colour(0, 128, 128, 255)`

Function Details

### LightColour(color, percent)

Brighten input colour by percent.

### PaintStraightGradientBox(dc, rect, startColor, endColor, vertical=True)

Draws a gradient colored box from startColor to endColor.

### RandomColour()

Creates a random colour.

Variable Details

### BUTTON_SPACE

  Type:
    `int`
  Value:

        16

### EVT_FLATNOTEBOOK_PAGE_CHANGED

  Type:
    `PyEventBinder`
  Value:

        <wx._core.PyEventBinder object at 0xb76e384c>

### EVT_FLATNOTEBOOK_PAGE_CHANGING

  Type:
    `PyEventBinder`
  Value:

        <wx._core.PyEventBinder object at 0xb76e386c>

### EVT_FLATNOTEBOOK_PAGE_CLOSED

  Type:
    `PyEventBinder`
  Value:

        <wx._core.PyEventBinder object at 0xb494936c>

### EVT_FLATNOTEBOOK_PAGE_CLOSING

  Type:
    `PyEventBinder`
  Value:

        <wx._core.PyEventBinder object at 0xb494932c>

### EVT_FLATNOTEBOOK_PAGE_CONTEXT_MENU

  Type:
    `PyEventBinder`
  Value:

        <wx._core.PyEventBinder object at 0xb494938c>

### FNB_ALLOW_FOREIGN_DND

  Type:
    `int`
  Value:

        32768

### FNB_BACKGROUND_GRADIENT

  Type:
    `int`
  Value:

        1024

### FNB_BOTTOM

  Type:
    `int`
  Value:

        64

### FNB_BTN_HOVER

  Type:
    `int`
  Value:

        1

### FNB_BTN_NONE

  Type:
    `int`
  Value:

        0

### FNB_BTN_PRESSED

  Type:
    `int`
  Value:

        2

### FNB_COLORFUL_TABS

  Type:
    `int`
  Value:

        2048

### FNB_DCLICK_CLOSES_TABS

  Type:
    `int`
  Value:

        4096

### FNB_DEFAULT_STYLE

  Type:
    `int`
  Value:

        65568

### FNB_DROPDOWN_TABS_LIST

  Type:
    `int`
  Value:

        16384

### FNB_FANCY_TABS

  Type:
    `int`
  Value:

        2

### FNB_HIDE_ON_SINGLE_TAB

  Type:
    `int`
  Value:

        65536

### FNB_MOUSE_MIDDLE_CLOSES_TABS

  Type:
    `int`
  Value:

        32

### FNB_NO_NAV_BUTTONS

  Type:
    `int`
  Value:

        16

### FNB_NO_X_BUTTON

  Type:
    `int`
  Value:

        8

### FNB_NODRAG

  Type:
    `int`
  Value:

        128

### FNB_SMART_TABS

  Type:
    `int`
  Value:

        8192

### FNB_TABS_BORDER_SIMPLE

  Type:
    `int`
  Value:

        4

### FNB_VC71

  Type:
    `int`
  Value:

        1

### FNB_VC8

  Type:
    `int`
  Value:

        256

### FNB_X_ON_TAB

  Type:
    `int`
  Value:

        512

### MASK_COLOR

  Type:
    `Colour`
  Value:

        wx.Colour(0, 128, 128, 255)

Generated by Epydoc 2.1.20050511.rpd on Thu Mar 22 12:13:47 2007 | http://epydoc.sf.net