Skip to content

Commit 859cba5

Browse files
Merge pull request #74 from jonathanrocher/feat/6.0_exercise_start
Feat: 6.0 exercise start
2 parents b734140 + 9388f55 commit 859cba5

File tree

90 files changed

+764
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+764
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# coding=utf-8
2+
""" TaskApplication object for the Pycasa app.
3+
"""
4+
import logging
5+
6+
from pyface.tasks.api import TasksApplication, TaskFactory
7+
from pyface.api import SplashScreen
8+
from pyface.action.api import Action
9+
from pyface.action.schema.api import SchemaAddition, SGroup
10+
11+
from ..ui.tasks.pycasa_task import PycasaTask
12+
from ..ui.image_resources import app_icon, new_icon
13+
14+
logger = logging.getLogger(__name__)
15+
16+
17+
class PycasaApplication(TasksApplication):
18+
""" An application to explore image files and detect faces.
19+
"""
20+
id = "pycasa_application"
21+
22+
name = "Pycasa"
23+
24+
description = "An example Tasks application that explores image files."
25+
26+
def _task_factories_default(self):
27+
return [
28+
TaskFactory(
29+
id='pycasa.pycasa_task_factory',
30+
name="Main Pycasa Task Factory",
31+
factory=PycasaTask
32+
)
33+
]
34+
35+
def _icon_default(self):
36+
pass
37+
38+
def _splash_screen_default(self):
39+
pass
40+
41+
def create_new_task_window(self):
42+
from pyface.tasks.task_window_layout import TaskWindowLayout
43+
44+
layout = TaskWindowLayout()
45+
layout.items = [self.task_factories[0].id]
46+
window = self.create_window(layout=layout)
47+
self.add_window(window)
48+
window.title += " {}".format(len(self.windows))
49+
return window
50+
51+
def create_new_task_menu(self):
52+
return SGroup(
53+
Action(name="New",
54+
accelerator='Ctrl+N',
55+
on_perform=self.create_new_task_window,
56+
image=new_icon),
57+
id='NewGroup', name='NewGroup',
58+
)
59+
60+
def _extra_actions_default(self):
61+
extra_actions = [
62+
SchemaAddition(id='pycasa.custom_new',
63+
factory=self.create_new_task_menu,
64+
path="MenuBar/File/OpenGroup",
65+
absolute_position="first")
66+
]
67+
return extra_actions

0 commit comments

Comments
 (0)