diff options
author | Nat <natcl@hotmail.com> | 2007-08-16 21:00:24 (GMT) |
---|---|---|
committer | Nat <natcl@hotmail.com> | 2007-08-16 21:00:24 (GMT) |
commit | dcc14c2fec23abe044d7bc1b9ed13426354c6163 (patch) | |
tree | be3ae823447feaaa88794425cbb1add7f7da0d87 | |
parent | f84efd464ad797f5f03aeb18105fc5378706495f (diff) |
New tool selection
-rw-r--r-- | Edit/EditToolbars.py | 142 | ||||
-rw-r--r-- | Edit/MainWindow.py | 2 | ||||
-rw-r--r-- | icons/edit-brush.svg | 16 | ||||
-rw-r--r-- | icons/edit-pencil.svg | 21 | ||||
-rw-r--r-- | icons/edit-pointer.svg | 9 | ||||
-rw-r--r-- | icons/pencil.svg | 17 |
6 files changed, 148 insertions, 59 deletions
diff --git a/Edit/EditToolbars.py b/Edit/EditToolbars.py index 0c1ac6d..64cae7e 100644 --- a/Edit/EditToolbars.py +++ b/Edit/EditToolbars.py @@ -4,6 +4,7 @@ import gtk import Config from sugar.graphics.toolbutton import ToolButton from sugar.graphics.toggletoolbutton import ToggleToolButton +from sugar.graphics.radiotoolbutton import RadioToolButton from sugar.graphics.palette import Palette from sugar.graphics.icon import Icon from Util.ThemeWidgets import * @@ -69,15 +70,33 @@ class mainToolbar(gtk.Toolbar): self.insert(self.recordButton, -1) self.recordButton.show() - _insertSeparator(13) - - #Pencil button - self._pencilPalette = pencilPalette(_('Draw Tool'), self.edit, self) - self.pencilButton = ToggleToolButton('pencil') - self.pencilButton.set_palette(self._pencilPalette) - self.pencilButton.connect('toggled', self.handlePencil) - self.insert(self.pencilButton, -1) - self.pencilButton.show() + _insertSeparator(5) + + #Pointer button + self._pointerPalette = pointerPalette(_('Select Tool'), self.edit) + self.pointerButton = RadioToolButton('edit-pointer', group = None) + self.pointerButton.set_palette(self._pointerPalette) + self.pointerButton.connect('toggled', self.edit.handleToolClick, 'default') + self.insert(self.pointerButton, -1) + self.pointerButton.show() + + #Draw button + self._drawPalette = drawPalette(_('Draw Tool'), self.edit) + self.drawButton = RadioToolButton('edit-pencil', group = self.pointerButton) + self.drawButton.set_palette(self._drawPalette) + self.drawButton.connect('toggled', self.edit.handleToolClick, 'draw') + self.insert(self.drawButton, -1) + self.drawButton.show() + + #Paint button + self._paintPalette = paintPalette(_('Paint Tool'), self.edit) + self.paintButton = RadioToolButton('edit-brush', group = self.pointerButton) + self.paintButton.set_palette(self._paintPalette) + self.paintButton.connect('toggled', self.edit.handleToolClick, 'paint') + self.insert(self.paintButton, -1) + self.paintButton.show() + + _insertSeparator(4) #Duplicate button self.duplicateButton = ToggleToolButton('duplicate') @@ -85,7 +104,7 @@ class mainToolbar(gtk.Toolbar): self.insert(self.duplicateButton, -1) self.duplicateButton.show() - _insertSeparator(18) + _insertSeparator(4) #Volume / Tempo button self._volumeTempoPalette = volumeTempoPalette(_('Volume / Tempo'), self.edit) @@ -124,15 +143,6 @@ class mainToolbar(gtk.Toolbar): self.edit.handleStop(widget, False) self.playButton.set_active(False) - def handlePencil(self, widget, data = None): - if widget.get_active(): - if self._pencilPalette.checkbox.get_active(): - self.edit.handleToolClick(widget, 'paint') - else: - self.edit.handleToolClick(widget, 'draw') - else: - self.edit.handleToolClick(widget, 'default') - def handleDuplicate(self, widget): if widget.get_active(): if self.edit.getContext() == 0: #Page @@ -160,17 +170,79 @@ class recordPalette(Palette): self.recordOggButton.show() self.set_content(self.recordOggButton) -class pencilPalette(Palette): - def __init__(self, label, edit, _mainToolbar): +class pointerPalette(Palette): + def __init__(self, label, edit): + Palette.__init__(self, label) + + self.edit = edit + + self.pointerBox = gtk.VBox() + + self.snapGridHBox = gtk.HBox() + self.snapGridImage = gtk.Image() + self.snapGridImage.set_from_file(Config.TAM_TAM_ROOT + '/icons/grid.svg') + self.snapGridBox = BigComboBox() + self.snapGridBox.connect('changed', self.handleSnapGrid) + durs = [_('3'), _('6'), _('12'), _('24'), _('48')] + for dur in durs: + self.snapGridBox.append_item(durs.index(dur),dur) + self.snapGridBox.set_active(0) + self.snapGridHBox.pack_start(self.snapGridImage, False, False, padding = 5) + self.snapGridHBox.pack_start(self.snapGridBox, False, False, padding = 5) + + self.pointerBox.pack_start(self.snapGridHBox, False, False, padding = 5) + self.pointerBox.show_all() + + self.set_content(self.pointerBox) + + def handleNoteDur(self, widget): + pass + #self.noteDur = widget.props.value + + def handleSnapGrid(self, widget): + pass + #self.edit.trackInterface.setGrid(int(widget.props.value)) + +class drawPalette(Palette): + def __init__(self, label, edit): Palette.__init__(self, label) self.edit = edit - self._mainToolbar = _mainToolbar - self.pencilBox = gtk.VBox() + self.drawBox = gtk.VBox() + + self.snapGridHBox = gtk.HBox() + self.snapGridImage = gtk.Image() + self.snapGridImage.set_from_file(Config.TAM_TAM_ROOT + '/icons/grid.svg') + self.snapGridBox = BigComboBox() + self.snapGridBox.connect('changed', self.handleSnapGrid) + durs = [_('3'), _('6'), _('12'), _('24'), _('48')] + for dur in durs: + self.snapGridBox.append_item(durs.index(dur),dur) + self.snapGridBox.set_active(0) + self.snapGridHBox.pack_start(self.snapGridImage, False, False, padding = 5) + self.snapGridHBox.pack_start(self.snapGridBox, False, False, padding = 5) + + self.drawBox.pack_start(self.snapGridHBox, False, False, padding = 5) + self.drawBox.show_all() + + self.set_content(self.drawBox) + + def handleNoteDur(self, widget): + pass + #self.noteDur = widget.props.value + + def handleSnapGrid(self, widget): + pass + #self.edit.trackInterface.setGrid(int(widget.props.value)) + +class paintPalette(Palette): + def __init__(self, label, edit): + Palette.__init__(self, label) + + self.edit = edit - self.checkbox = gtk.CheckButton(label = _('Continuous')) - self.checkbox.connect('toggled',self.handleCheckBox) + self.paintBox = gtk.VBox() self.noteDurHBox = gtk.HBox() self.noteDurImage = gtk.Image() @@ -196,22 +268,11 @@ class pencilPalette(Palette): self.snapGridHBox.pack_start(self.snapGridImage, False, False, padding = 5) self.snapGridHBox.pack_start(self.snapGridBox, False, False, padding = 5) - self.pencilBox.pack_start(self.checkbox, False, False, padding = 5) - self.pencilBox.pack_start(self.noteDurHBox, False, False, padding = 5) - self.pencilBox.pack_start(self.snapGridHBox, False, False, padding = 5) - self.pencilBox.show_all() - - self.set_content(self.pencilBox) + self.paintBox.pack_start(self.noteDurHBox, False, False, padding = 5) + self.paintBox.pack_start(self.snapGridHBox, False, False, padding = 5) + self.paintBox.show_all() - def handleCheckBox(self, widget, data = None): - if widget.get_active(): - if self._mainToolbar.pencilButton.get_active(): - self.edit.handleToolClick(widget, 'paint') - else: - if self._mainToolbar.pencilButton.get_active(): - self.edit.handleToolClick(widget, 'draw') - else: - self.edit.handleToolClick(widget, 'default') + self.set_content(self.paintBox) def handleNoteDur(self, widget): pass @@ -221,7 +282,6 @@ class pencilPalette(Palette): pass #self.edit.trackInterface.setGrid(int(widget.props.value)) - class volumeTempoPalette(Palette): def __init__(self, label, edit): Palette.__init__(self, label) diff --git a/Edit/MainWindow.py b/Edit/MainWindow.py index 0131cff..770d4b9 100644 --- a/Edit/MainWindow.py +++ b/Edit/MainWindow.py @@ -939,7 +939,7 @@ class MainWindow( SubActivity ): self.csnd.loopSetTempo(self._data['tempo']) def handleToolClick( self, widget, mode ): - self.trackInterface.setInterfaceMode( mode ) + if widget.get_active(): self.trackInterface.setInterfaceMode( mode ) def getTool( self ): if self.GUI["2toolPointerButton"].get_active(): return "default" diff --git a/icons/edit-brush.svg b/icons/edit-brush.svg new file mode 100644 index 0000000..e888321 --- /dev/null +++ b/icons/edit-brush.svg @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="55px"
+ height="55px" viewBox="0 0 55 55" enable-background="new 0 0 55 55" xml:space="preserve">
+
+<g id="Brush" >
+ <g display="inline">
+ <path fill="#FFFFFF" d="M26.939,32.777c0,0,9.546-10.04,12.062-13.721c3.697-5.406,5.988-10.829,3.994-11.775
+ c-1.468-0.697-6.469,3.434-9.471,7.896C31.491,18.205,24,30.635,24,30.635L26.939,32.777z"/>
+ <path fill="#FFFFFF" d="M25.613,34.668l-2.971-2.166c0,0-3.054,1.592-4.602,3.862c-1.546,2.284-2.31,6.661-4.752,9.01
+ c-1.465,1.409-0.186,1.085-0.186,1.085s7.907-2.985,9.786-5.477C24.75,38.512,25.613,34.668,25.613,34.668z"/>
+ </g>
+</g>
+
+</svg>
diff --git a/icons/edit-pencil.svg b/icons/edit-pencil.svg new file mode 100644 index 0000000..c7a1ef9 --- /dev/null +++ b/icons/edit-pencil.svg @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="55px"
+ height="55px" viewBox="0 0 55 55" enable-background="new 0 0 55 55" xml:space="preserve">
+
+<g id="Pencil" >
+ <g display="inline">
+ <path fill="#FFFFFF" d="M12.727,45.969c-0.053,0.132-0.02,0.281,0.09,0.373s0.264,0.103,0.385,0.025l4.635-2.984l-3.009-2.407
+ L12.727,45.969z M42.967,14.071c0-0.073-0.004-0.15-0.014-0.227c-0.112-0.949-0.903-2.109-2.062-3.025
+ c-1.16-0.915-2.474-1.413-3.424-1.304c-0.414,0.052-0.747,0.228-0.973,0.491l-0.021-0.015L19.716,32.17l-0.073,0.073l-0.011,0.015
+ c-0.026,0.029-0.029,0.069-0.05,0.103l-2.177,2.677c0,0,0.128,0.099,0.256,0.201l-0.002,0.004l-0.009,0.011
+ c-0.128-0.103-0.252-0.197-0.252-0.197l-0.042,0.051c-0.097,0.121-0.155,0.271-0.203,0.429c-0.015,0.019-0.046,0.025-0.057,0.048
+ l-1.361,3.236l4.097,3.278l3.202-2.062c0.019-0.011,0.015-0.037,0.031-0.052c0.083-0.065,0.178-0.121,0.243-0.201
+ c0.008-0.011,0.043-0.059,0.048-0.062l2.237-2.79l0.033-0.033l-0.004-0.004l0.023-0.029l0.006,0.004L42.59,15.02
+ c0.029-0.029,0.071-0.044,0.1-0.077c0.032-0.044,0.049-0.103,0.076-0.15l0.015-0.019l-0.003-0.003
+ C42.895,14.566,42.967,14.339,42.967,14.071z"/>
+ </g>
+</g>
+
+</svg>
diff --git a/icons/edit-pointer.svg b/icons/edit-pointer.svg new file mode 100644 index 0000000..2397df3 --- /dev/null +++ b/icons/edit-pointer.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14576) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="55px" height="55px" viewBox="0 0 55 55" enable-background="new 0 0 55 55" xml:space="preserve">
+<rect x="5.285" y="9.417" fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="3" width="31.466" height="25.083"/>
+<polygon fill="#423F3D" stroke="#FFFFFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" points="
+ 33.225,30.118 39.89,46.332 42.087,40.904 48.34,46.951 50.126,45.508 43.874,39.05 49.576,36.714 "/>
+</svg>
diff --git a/icons/pencil.svg b/icons/pencil.svg deleted file mode 100644 index cb17e04..0000000 --- a/icons/pencil.svg +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14576) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="55px" height="55px" viewBox="0 0 55 55" enable-background="new 0 0 55 55" xml:space="preserve">
-<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M51,11.978l-0.018-0.203c-0.097-0.838-0.794-1.862-1.817-2.665
- c-1.024-0.812-2.18-1.245-3.018-1.156c-0.362,0.044-0.662,0.203-0.856,0.432l-0.026-0.008l-14.779,19.57l-0.07,0.062l-0.009,0.018
- l-0.035,0.079l-1.925,2.365l0.221,0.185h-0.009l-0.221-0.159l-0.034,0.036c-0.08,0.114-0.142,0.238-0.178,0.379l-0.061,0.044
- l-1.191,2.859l3.608,2.886l2.833-1.818l0.025-0.045l0.212-0.176l0.045-0.053l1.977-2.461l0.026-0.036l0.018-0.035v0.009
- l14.947-19.279l0.089-0.062l0.069-0.132l0.01-0.018C50.938,12.41,51,12.216,51,11.978z M24.317,40.116
- c-0.044,0.124-0.017,0.247,0.08,0.336c0.097,0.079,0.229,0.088,0.344,0.018l4.085-2.63l-2.656-2.127L24.317,40.116z"/>
-<path fill="#808284" d="M6,44.229c0-1.218,0.988-2.206,2.206-2.206h18.75c1.209,0,2.206,0.988,2.206,2.206
- c0,1.217-0.997,2.205-2.206,2.205H8.206C6.988,46.434,6,45.445,6,44.229z"/>
-<path fill="none" stroke="#FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M6,44.229
- c0-1.218,0.988-2.206,2.206-2.206h18.75c1.209,0,2.206,0.988,2.206,2.206c0,1.217-0.997,2.205-2.206,2.205H8.206
- C6.988,46.434,6,45.445,6,44.229z"/>
-</svg>
|