1
"""Wrapper code to help when scripting gnome-panel
3
Author: David Malcolm <dmalcolm@redhat.com>"""
5
__author__ = 'David Malcolm <dmalcolm@redhat.com>'
7
from dogtail.tree import *
8
from dogtail.distro import packageDb
9
from dogtail.apps.categories import *
10
from dogtail.version import Version
12
class GnomePanel(Application, DesktopPanel):
13
"""Useful test hooks for GNOME panel testcases"""
15
Application.__init__(self, root.application("gnome-panel"))
17
self.version = packageDb.getVersion("gnome-panel")
19
print "gnome-panel version %s"%self.version
21
def getApplicationsMenu(self):
22
if self.version>=Version([2,10.0]):
24
return self.child(name = 'Applications', roleName = 'menu', recursive=True, debugName="Applications menu")
26
# this makes it work on FC3:
27
# assume that the first menu we find is the main menu:
28
return self.findChild(predicate.GenericPredicate(roleName="menu"), recursive=True, debugName="Applications menu")
30
def applications(self):
31
"""Generator of MenuItem for all menuitems representing applications under the Applications menu."""
32
appMenu = self.getApplicationsMenu()
34
return appMenu.findChildren(predicate.GenericPredicate(roleName="menu item"), recursive=True)