本文整理汇总了Python中pyjamas.ui.TextBox.TextBox.getText方法的典型用法代码示例。如果您正苦于以下问题:Python TextBox.getText方法的具体用法?Python TextBox.getText怎么用?Python TextBox.getText使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyjamas.ui.TextBox.TextBox
的用法示例。
在下文中一共展示了TextBox.getText方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: onModuleLoad
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class TestRect:
def onModuleLoad(self):
self.r = Rect(0.0, 0.0)
self.xbox = TextBox()
self.ybox = TextBox()
self.addbutton = Button("Click to add x and y to Rectangle")
self.addbutton.addClickListener(self)
self.xbox.setText("2")
self.ybox.setText("5")
RootPanel().add(HTML("X Value:"))
RootPanel().add(self.xbox)
RootPanel().add(HTML("Y Value:"))
RootPanel().add(self.ybox)
RootPanel().add(self.addbutton)
RootPanel().add(HTML("Current value: %d %d" % ( self.r.get_x(), self.r.get_y())))
def onClick(self, sender):
x = int(self.xbox.getText())
y = int(self.ybox.getText())
r = Rect(x, y)
self.r.add(r)
RootPanel().add(HTML("New value: %d" % ( self.r.get_x())))
RootPanel().add(HTML("New value: %d" % ( self.r.get_y())))
RootPanel().add(HTML("New value: %d %d" % ( self.r.get_x(), self.r.get_y())))
RootPanel().add(HTML("New Area: %d" % self.r.area()))
示例2: PreferencesDlg
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class PreferencesDlg(DialogBox):
fileLocation = None
def __init__(self, left = 50, top = 50):
DialogBox.__init__(self, modal = False)
self.setPopupPosition(left, top)
self.setText("Preferences")
ftable = FlexTable()
ftableFormatter = ftable.getFlexCellFormatter()
row = 0
self.fileLocation = getCookie("fileLocation")
row += 1
ftable.setWidget(row, 0, Label("Sheet loaded on startup", wordWrap=False))
self.fileLocationInput = TextBox()
self.fileLocationInput.addChangeListener(self.checkValid)
self.fileLocationInput.addKeyboardListener(self)
self.fileLocationInput.setVisibleLength(30)
self.fileLocationInput.setText(self.fileLocation)
ftable.setWidget(row, 1, self.fileLocationInput)
row += 1
hpanel = HorizontalPanel()
self.saveBtn = Button("Save", self.onSave)
self.saveBtn.setEnabled(False)
hpanel.add(self.saveBtn)
self.cancelBtn = Button("Cancel", self.onCancel)
hpanel.add(self.cancelBtn)
ftable.setWidget(row, 0, hpanel)
ftableFormatter.setColSpan(row, 0, 2)
self.setWidget(ftable)
def onCancel(self, sender):
self.hide()
def onSave(self, sender):
setCookie("fileLocation", self.fileLocationInput.getText(), 1000000000)
self.hide()
def checkValid(self, evt=None):
if self.fileLocation != self.fileLocationInput.getText():
self.saveBtn.setEnabled(True)
else:
self.saveBtn.setEnabled(False)
def onClick(self, sender):
pass
def onKeyUp(self, sender, keyCode, modifiers):
self.checkValid()
def onKeyDown(self, sender, keyCode, modifiers):
pass
def onKeyPress(self, sender, keyCode, modifiers):
pass
示例3: Email
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class Email(Composite):
def __init__(self, **kwargs):
element = None
if kwargs.has_key('Element'):
element = kwargs.pop('Element')
panel = VerticalPanel(Element=element)
Composite.__init__(self, panel, **kwargs)
self.TEXT_WAITING = "Please wait..."
self.TEXT_ERROR = "Server Error"
self.remote_py = EchoServicePython()
self.status=Label()
self.subject = TextBox()
self.subject.setVisibleLength(60)
self.sender = TextBox()
self.sender.setVisibleLength(40)
self.message = TextArea()
self.message.setCharacterWidth(60)
self.message.setVisibleLines(15)
self.button_py = Button("Send", self)
buttons = HorizontalPanel()
buttons.add(self.button_py)
buttons.setSpacing(8)
panel.add(HTML("Subject:"))
panel.add(self.subject)
panel.add(HTML("From:"))
panel.add(self.sender)
panel.add(HTML("Your Message - please keep it to under 1,000 characters"))
panel.add(self.message)
panel.add(buttons)
panel.add(self.status)
def onClick(self, sender):
self.status.setText(self.TEXT_WAITING)
text = self.message.getText()
msg_sender = self.sender.getText()
msg_subject = self.subject.getText()
# demonstrate proxy & callMethod()
if sender == self.button_py:
id = self.remote_py.send(msg_sender, msg_subject, text, self)
if id<0:
self.status.setText(self.TEXT_ERROR)
def onRemoteResponse(self, response, request_info):
self.status.setText(response)
def onRemoteError(self, code, message, request_info):
self.status.setText("Server Error or Invalid Response: ERROR " + \
str(code) + " - " + str(message))
示例4: LoginDialgoBox
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class LoginDialgoBox(DialogBox,RPCBase):
def __init__(self, app):
DialogBox.__init__(self)
self.app = app
self.table=FlexTable()
self.table.setText(0, 0, "Please enter username and password")
self.table.getFlexCellFormatter().setColSpan(0, 0, 2)
self.table.setText(1, 0, "Username")
self.handle = TextBox()
h = getCookie('handle')
self.handle.setText(h)
self.table.setWidget(1, 1, self.handle)
self.table.setText(2, 0, "Password")
self.pwd = PasswordTextBox()
self.table.setWidget(2, 1, self.pwd)
self.table.setHTML(3,0,"")
self.table.getFlexCellFormatter().setColSpan(3, 0, 2)
h = HorizontalPanel()
self.table.setWidget(4,0, h)
self.table.getFlexCellFormatter().setColSpan(4, 0, 2)
h.add(Button("Ok", getattr(self, "onOk")))
h.add(Button("Cancel", getattr(self, "onClose")))
h.setSpacing(4)
self.setHTML("<b>Login</b>")
self.setWidget(self.table)
left = (Window.getClientWidth() - 200) / 2
top = (Window.getClientHeight() - 100) / 2
self.setPopupPosition(left,top)
def onRemoteResponse(self, response, request_info):
if response == "invalid_cookie":
self.show()
elif response == None or len(response) < 3:
self.table.setHTML(3,0,"<b>Invalid username or password</b>")
else:
self.app.cookie = response[0]
setCookie('cookie',response[0],1000*60*60*24)
self.hide()
self.app.logininit(response[1],response[2])
def onClose(self,env):
Window.getLocation().setHref("http://www.google.com")
def onOk(self, env):
global gw
setCookie('handle',self.handle.getText(),24*60*60*1000)
x = self.pwd.getText()
x = pwhash(x)
gw.login(self.handle.getText(), x, self)
def login(self):
global gw
if not self.app.cookie:
self.show()
else:
gw.validateCookie(self.app.cookie, self)
示例5: CalibrateChannelTrimsView
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class CalibrateChannelTrimsView(object) :
"""
Class that takes care of the purely UI parts of the trim calibration
"""
def __init__( self ) :
numberOfLoopsPanel=HorizontalPanel()
numberOfLoopsPanel.add( HTML("Maximum number of loops") )
self.maximumNumberOfLoops=TextBox()
self.maximumNumberOfLoops.setText(10)
numberOfLoopsPanel.add( self.maximumNumberOfLoops )
numberOfLoopsPanel.setCellHorizontalAlignment( self.maximumNumberOfLoops, HasHorizontalAlignment.ALIGN_RIGHT )
numberOfLoopsPanel.setWidth("100%")
aimPointPanel=HorizontalPanel()
aimPointPanel.add( HTML("Aim point") )
self.aimPoint=TextBox()
self.aimPoint.setText(127)
aimPointPanel.add( self.aimPoint )
aimPointPanel.setCellHorizontalAlignment( self.aimPoint, HasHorizontalAlignment.ALIGN_RIGHT )
aimPointPanel.setWidth("100%")
self.start=Button("Start")
self.echo=HTML("Initiating...")
self.mainPanel = VerticalPanel()
self.mainPanel.add( numberOfLoopsPanel )
self.mainPanel.add( aimPointPanel )
self.mainPanel.add( self.start )
self.mainPanel.add( self.echo )
def getMaxNumberOfLoops( self ) :
return int(self.maximumNumberOfLoops.getText())
def getAimPoint( self ) :
return int(self.aimPoint.getText())
def getStartButton( self ) :
return self.start
def setEchoText( self, text ) :
self.echo.setText( text )
def enable( self ) :
self.start.setEnabled(True)
def disable( self ) :
self.start.setEnabled(False)
def getPanel( self ) :
return self.mainPanel
示例6: onModuleLoad
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class GridEdit:
def onModuleLoad(self):
self.input = TextBox()
self.input.setEnabled(False)
self.input.addKeyboardListener(self)
self.g=Grid()
self.g.resize(5, 5)
self.g.setHTML(0, 0, "<b>Grid Edit</b>")
self.g.setBorderWidth(2)
self.g.setCellPadding(4)
self.g.setCellSpacing(1)
self.g.setWidth("500px")
self.g.setHeight("120px")
self.g.addTableListener(self)
self.initGrid()
RootPanel().add(self.input)
RootPanel().add(self.g)
def onKeyDown(self, sender, keycode, modifiers):
pass
def onKeyUp(self, sender, keycode, modifiers):
pass
def onKeyPress(self, sender, keycode, modifiers):
if keycode == KeyboardListener.KEY_ESCAPE:
self.input.setEnabled(False)
elif keycode == KeyboardListener.KEY_ENTER:
self.input.setEnabled(False)
val = self.input.getText()
self.set_grid_value(self.row, self.col, val)
def onCellClicked(self, sender, row, col):
self.row = row
self.col = col
val = self.values[row][col]
self.input.setText(val)
self.input.setEnabled(True)
self.input.setFocus(True)
def set_grid_value(self, row, col, val):
self.values[row][col] = val
if val == "":
val = " "
self.g.setHTML(row, col, val)
def initGrid(self):
self.values = {}
for y in range(5):
self.values[y] = {}
for x in range(5):
self.values[y][x] = ""
for y in range(5):
for x in range(5):
val = self.values[y][x]
self.set_grid_value(y, x, val)
示例7: Cancel
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class Cancel(HorizontalPanel):
def __init__(self):
HorizontalPanel.__init__(self, Spacing=4)
self.add(Label('Cancel:', StyleName='section'))
self.name = TextBox()
self.name.setMaxLength(18)
self.name.setVisibleLength(18)
self.add(self.name)
self.cancel = Button('Do it', self)
self.add(self.cancel)
self.err = Label()
self.add(self.err)
def onClick(self, sender):
self.err.setText('')
name = self.name.getText().strip()
if name == '':
return
else:
self.cancel.setEnabled(False)
remote = server.AdminService()
id = remote.cancel(name, self)
if id < 0:
self.err.setText('oops: could not cancel')
def onRemoteResponse(self, result, request_info):
self.cancel.setEnabled(True)
self.name.setText('')
def onRemoteError(self, code, message, request_info):
self.cancel.setEnabled(True)
self.err.setText('Could not cancel: ' + message['data']['message'])
示例8: TextEditor
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class TextEditor(Editor):
""" Base class for text style editors, which displays an editable text
field, containing a text representation of the object trait value.
"""
# ---------------------------------------------------------------------------
# Finishes initializing the editor by creating the underlying toolkit
# widget:
# ---------------------------------------------------------------------------
def init(self, parent):
""" Finishes initializing the editor by creating the underlying toolkit
widget.
"""
self.control = TextBox()
self.control.setText(self.str_value)
self.control.addChangeListener(getattr(self, "update_object"))
self.set_tooltip()
# ---------------------------------------------------------------------------
# Handles the user changing the contents of the edit control:
# ---------------------------------------------------------------------------
def update_object(self, sender):
""" Handles the user changing the contents of the edit control.
"""
try:
self.value = unicode(self.control.getText())
except TraitError, excp:
pass
示例9: onModuleLoad
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class TestDict:
def onModuleLoad(self):
self.r = WrapperDict()
self.kbox = TextBox()
self.addbutton = Button("Click to look up key value (hello or goodbye)")
self.addbutton.addClickListener(self)
self.kbox.setText("hello") # default to make life easier
RootPanel().add(HTML("Key:"))
RootPanel().add(self.kbox)
RootPanel().add(self.addbutton)
def display_value(self):
key = self.kbox.getText()
RootPanel().add(HTML("Value using python:" ))
RootPanel().add(HTML(self.r.python_get_value(key)))
RootPanel().add(HTML("Value using javascript:" ))
RootPanel().add(HTML(self.r.javascript_get_value(key)))
def onClick(self, sender):
self.display_value()
示例10: onModuleLoad
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class FormPanelExample:
def onModuleLoad(self):
# Create a FormPanel and point it at a service.
self.form = FormPanel()
self.form.setAction("/chat-service/test/")
# Because we're going to add a FileUpload widget, we'll need to set the
# form to use the POST method, and multipart MIME encoding.
self.form.setEncoding(FormPanel.ENCODING_MULTIPART)
self.form.setMethod(FormPanel.METHOD_POST)
# Create a panel to hold all of the form widgets.
panel = VerticalPanel()
self.form.setWidget(panel)
# Create a TextBox, giving it a name so that it will be submitted.
self.tb = TextBox()
self.tb.setName("textBoxFormElement")
panel.add(self.tb)
# Create a ListBox, giving it a name and some values to be associated with
# its options.
lb = ListBox()
lb.setName("listBoxFormElement")
lb.addItem("foo", "fooValue")
lb.addItem("bar", "barValue")
lb.addItem("baz", "bazValue")
panel.add(lb)
# Create a FileUpload widget.
upload = FileUpload()
upload.setName("uploadFormElement")
panel.add(upload)
# Add a 'submit' button.
panel.add(Button("Submit", self))
# Add an event handler to the form.
self.form.addFormHandler(self)
RootPanel().add(self.form)
def onClick(self, sender):
self.form.submit()
def onSubmitComplete(self, event):
# When the form submission is successfully completed, this event is
# fired. Assuming the service returned a response of type text/plain,
# we can get the result text here (see the FormPanel documentation for
# further explanation).
Window.alert(event.getResults())
def onSubmit(self, event):
# This event is fired just before the form is submitted. We can take
# this opportunity to perform validation.
if self.tb.getText().length == 0:
Window.alert("The text box must not be empty")
event.setCancelled(True)
示例11: AuthPanel
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class AuthPanel(VerticalPanel):
def __init__(self, beginVerifyAuth, onClose, baseStyleName='gwt-authdlgbox'):
"""Initialize a new instance.
beginVerifyAuth: callable that takes (string username, string password).Should call 'endVerifyAuth' when
finished.
onClose: callable that takes (AuthDlgBox sender, bool wasAuthorized, string username, string password). Called
when Cancel is pressed, or OK is pressed and verification is successful.
baseStyleName: base css name for type. baseStyleName + -label, -textbox, and -warninglabel should also be
defined.
"""
VerticalPanel.__init__(self, StyleName=baseStyleName)
self.onClose = onClose
self.wasAuthorized = False
self._beginVerifyAuth = beginVerifyAuth
self.baseStyleName = baseStyleName
self._createContent()
def _createContent(self):
self.add(self._createUsernamePanel())
self.add(self._createPasswordPanel())
self.add(self._createButtonPanel())
self.warningLabel = Label('', StyleName='-warninglabel')
self.add(self.warningLabel)
def _createUsernamePanel(self):
hp = HorizontalPanel()
hp.add(Label('Username: ', StyleName=self.baseStyleName + '-label'))
self.usernameTB = TextBox(StyleName=self.baseStyleName + '-textbox')
hp.add(self.usernameTB)
return hp
def _createPasswordPanel(self):
hp = HorizontalPanel()
hp.add(Label('Password: ', StyleName=self.baseStyleName + '-label'))
self.passTB = PasswordTextBox(StyleName=self.baseStyleName + '-textbox')
hp.add(self.passTB)
return hp
def _createButtonPanel(self):
hp = HorizontalPanel()
self.okBtn = Button('OK', self.onOk, StyleName=self.baseStyleName + '-button')
self.cancelBtn = Button('Cancel', self.onCancel, StyleName=self.baseStyleName + '-button')
hp.add(self.okBtn)
hp.add(self.cancelBtn)
return hp
def getUserAndPass(self):
return self.usernameTB.getText(), self.passTB.getText()
def onOk(self, sender):
self._beginVerifyAuth(*self.getUserAndPass())
return
def onCancel(self, sender):
self.onClose(self, False, None, None)
return
def endVerifyAuth(self, result, username, password, msg='Username/password invalid.'):
if result:
self.onClose(self, True, username, password)
else:
self.warningLabel.setText(msg)
示例12: onModuleLoad
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class JSONRPCExample:
def onModuleLoad(self):
self.TEXT_WAITING = "Waiting for response..."
self.TEXT_ERROR = "Server Error"
self.remote = JSONProxy("../api", ["hello"])
self.status = Label()
self.text_box = TextBox()
self.button_send = Button("Send", self)
buttons = HorizontalPanel()
buttons.add(self.button_send)
buttons.setSpacing(8)
info = """<h2>JSON-RPC Example</h2>
<p>This example demonstrates the calling of server services with
<a href="http://json-rpc.org/">JSON-RPC</a>.
</p>
<p>Enter your name below.</p>"""
panel = VerticalPanel()
panel.add(HTML(info))
panel.add(self.text_box)
#panel.add(method_panel)
panel.add(buttons)
panel.add(self.status)
RootPanel().add(panel)
def onClick(self, sender):
self.status.setText(self.TEXT_WAITING)
text = self.text_box.getText()
id = self.remote.hello(text, self)
def onRemoteResponse(self, response, request_info):
self.status.setText(response)
def onRemoteError(self, code, errobj, request_info):
# onRemoteError gets the HTTP error code or 0 and
# errobj is an jsonrpc 2.0 error dict:
# {
# 'code': jsonrpc-error-code (integer) ,
# 'message': jsonrpc-error-message (string) ,
# 'data' : extra-error-data
# }
message = errobj['message']
if code != 0:
self.status.setText("HTTP error %d: %s" %
(code, message))
else:
code = errobj['code']
self.status.setText("JSONRPC Error %s: %s" %
(code, message))
示例13: SaveDialog
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class SaveDialog(DialogWindow):
def __init__(self, theorem, **kwargs):
DialogWindow.__init__(self, modal=True, close=True)
self.theorem=theorem
v = VerticalPanel()
v.setWidth(300)
# v.setHeight(500)
self.setText("save")
self.setPopupPosition(100, 100)
self.setStyleAttribute("background-color", "#ffffff")
self.setStyleAttribute("color", "red")
self.setStyleAttribute("border-width", "5px")
self.setStyleAttribute("border-style", "solid")
self.im=Image()
self.im.setUrl(latex_to_url(self.theorem.formula.to_latex()))
v.add(self.im)
h=HorizontalPanel()
self.radio=RadioButton("group1", "Existing folder:")
h.add(self.radio)
self.list = ListBox()
self.list.setVisibleItemCount(1)
for f in Theorem.get_all_folders():
self.list.addItem(f)
h.add(self.list)
v.add(h)
h=HorizontalPanel()
h.add(RadioButton("group1", "New folder:"))
self.radio.setChecked(True)
self.textbox=TextBox()
h.add(self.textbox)
v.add(h)
v.add(Button("Done",self.done_click))
self.add(v)
def get_folder_name(self):
if self.radio.getChecked():
return self.list.getItemText(self.list.getSelectedIndex())
else:
return self.textbox.getText()
def done_click(self):
self.theorem.folder=self.get_folder_name()
Theorem.theorems.append(self.theorem)
IO.save()
self.hide()
示例14: InputControl
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class InputControl(Control):
def __init__(self, min_value, max_value, start_value=None, step=None,
**kwargs):
if not kwargs.has_key("StyleName"):
kwargs['StyleName'] = "gwt-InputControl"
self.input = TextBox()
self.input.addKeyboardListener(self)
#element = DOM.createDiv()
if kwargs.has_key('Element'):
# XXX FIXME: unlikely to work!
element = kwargs.pop('Element')
else:
element = self.input.getElement() # YUK!!!
Control.__init__(self, element, min_value, max_value, start_value, step,
**kwargs)
self.addClickListener(self)
self.addFocusListener(self)
self.addKeyboardListener(self)
def onFocus(self, sender):
self.addStyleName("gwt-InputControl-focussed")
def onLostFocus(self, sender):
self.removeStyleName("gwt-InputControl-focussed")
def setControlPos(self, value):
self.input.setText(value)
def onKeyPress(self, sender, keycode, modifiers):
if keycode == KeyboardListener.KEY_ENTER:
DOM.eventPreventDefault(DOM.eventGetCurrentEvent())
txt = self.input.getText()
if not txt:
return
new_value = float(txt)
new_value = self.processValue(new_value)
self.setControlPos(new_value)
self.setValue(new_value)
else:
Control.onKeyPress(self, sender, keycode, modifiers)
示例15: Projects_Editor
# 需要导入模块: from pyjamas.ui.TextBox import TextBox [as 别名]
# 或者: from pyjamas.ui.TextBox.TextBox import getText [as 别名]
class Projects_Editor(SimplePanel):
'''
Create and edit projects
'''
def __init__(self):
# We need to use old form of inheritance because of pyjamas
SimplePanel.__init__(self)
self.hpanel = HorizontalPanel(Width='475px')
self.hpanel.setVerticalAlignment(HasAlignment.ALIGN_BOTTOM)
self.name = TextBox()
self.name.setStyleName('form-control')
self.status = ListBox()
self.status.addItem('Active')
self.status.addItem('Inactive')
self.status.setVisibleItemCount(0)
self.status.setStyleName('form-control input-lg')
self.status.setSize('100px', '34px')
lbl = Label('', Width='10px')
self.add_btn = Button('Add')
self.add_btn.setStyleName('btn btn-primary')
self.del_btn = Button('Delete')
self.del_btn.setStyleName('btn btn-danger')
self.hpanel.add(self.name)
self.hpanel.add(lbl)
self.hpanel.add(self.status)
self.hpanel.add(self.add_btn)
self.hpanel.add(self.del_btn)
def get_name_txt(self):
'''Return project name.
'''
return self.name.getText()
def get_status(self):
'''Return project status.
'''
return self.status.getItemText(self.status.getSelectedIndex())