当前位置: 首页>>代码示例>>Python>>正文


Python Palette.add_drawable_type方法代码示例

本文整理汇总了Python中palette.Palette.add_drawable_type方法的典型用法代码示例。如果您正苦于以下问题:Python Palette.add_drawable_type方法的具体用法?Python Palette.add_drawable_type怎么用?Python Palette.add_drawable_type使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在palette.Palette的用法示例。


在下文中一共展示了Palette.add_drawable_type方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from palette import Palette [as 别名]
# 或者: from palette.Palette import add_drawable_type [as 别名]
class App_Runner:
  """
  App runner that uses a Board and a Palette.
  """
  def __init__(self, on_init, app_name, dev_stage, file_extension,
      deserializers, board_width, board_height, palette_height,
      directed_wires, label_tooltips_enabled, same_label_per_connector,
      init_file=None):
    """
    |on_init|: method called every time a new board of this app's type is
        created.
    |app_name|: name of this app.
    |dev_stage|: development stage of this app.
    |file_extension|: the file extension used for boards of this app's type.
    |deserializers|: drawabel types to open files of this app's type.
    |board_width|, |board_height|: board dimensions.
    |palette_height|: height of palette, width will be the same as board width.
    |directed_wires|: True if the board is to have directed wires, False
        otherwise.
    |label_tooltips_enabled|: if True, show wire and drawable label tooltips.
    |same_label_per_connector|: if True, all wires from a connector will have
        the same label. If False, this will only be true for wire connectors.
    |init_file|: file to open at init time.
    """
    self._on_init = on_init
    self._app_name = app_name
    self._dev_stage = dev_stage
    self._file_extension = file_extension
    self._deserializers = deserializers
    self._board_width = board_width
    self._board_height = board_height
    self._palette_height = palette_height
    self._directed_wires = directed_wires
    self._label_tooltips_enabled = label_tooltips_enabled
    self._same_label_per_connector = same_label_per_connector
    self._init_file = init_file
    self._init()
    self._setup_menu()
    self._setup_shortcuts()
  def _switch_cursor_to_draw(self, *args):
    """
    Switches board cursor state to 'draw'.
    """
    self._draw_display.highlight()
    self._drag_display.unhighlight()
    self.board.set_cursor_state('draw')
  def _switch_cursor_to_drag(self, *args):
    """
    Switches board cursor state to 'drag'.
    """
    self._draw_display.unhighlight()
    self._drag_display.highlight()
    self.board.set_cursor_state('drag')
  def _toggle_cursor(self):
    """
    Toggles board cursor state.
    """
    if self.board.get_cursor_state() == 'draw':
      self._switch_cursor_to_drag()
    else:
      self._switch_cursor_to_draw()
  def _init(self):
    """
    Creates the board and palette.
    """
    self._file_name = None
    self._root = Tk()
    self._root.resizable(0, 0)
    self._menu = Menu(self._root, tearoff=0)
    self.board = Board(self._root, self._menu, width=self._board_width,
        height=self._board_height, directed_wires=self._directed_wires,
        label_tooltips_enabled=self._label_tooltips_enabled,
        same_label_per_connector=self._same_label_per_connector,
        on_changed=self._on_changed, on_exit=self._request_save)
    self._init_board()
    self.palette = Palette(self._root, self.board, width=self._board_width,
        height=self._palette_height)
    # buttons to change board cursor state
    self.palette.current_left_x -= PALETTE_PADDING
    self._draw_display = self.palette.add_drawable_type(Image_Run_Drawable,
        LEFT, self._switch_cursor_to_draw, image_file=PENCIL_IMAGE)
    self.palette.current_left_x -= PALETTE_PADDING
    self._drag_display = self.palette.add_drawable_type(Image_Run_Drawable,
        LEFT, self._switch_cursor_to_drag, image_file=HAND_IMAGE)
    self.palette.draw_separator()
    self._switch_cursor_to_draw()
  def _setup_menu(self):
    """
    Creates the menu.
    """
    file_menu = Menu(self._menu, tearoff=0)
    file_menu.add_command(label='New', command=self._new_file,
        accelerator='Ctrl+N')
    file_menu.add_command(label='Open', command=self._open_file,
        accelerator='Ctrl+O')
    file_menu.add_command(label='Save', command=self._save_file,
        accelerator='Ctrl+S')
    file_menu.add_command(label='Save as', command=self._save_as)
    file_menu.add_separator()
    file_menu.add_command(label='Quit', command=self.board.quit,
#.........这里部分代码省略.........
开发者ID:Edward-Wei,项目名称:mit-courses,代码行数:103,代码来源:app_runner.py


注:本文中的palette.Palette.add_drawable_type方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。