Yes very much along the way I was thinking. I cannot say what it
visually looks like and so some may want to make it more visually
appealing.
It may be possible to use orca scripting to get orca to speak the
whole of the edit area when it gets focus, if users feel that may be
of value.
Regarding the wider thought of tips, where there may be a whole
sequence of tips and so previous and next buttons, and may be a set
up question. That idea was more if turning it into a full "tip of
the day feature" like many applications have and so the tips may
appear in a separate widow. You probably know the sort of thing I am
thinking of, they normally also feature a check box saying "do not
show me tips on start up".
For a simple text box like in the demo, no setting should really be
given to hide the text box as no separate screen appears (just my
view).
Michael Whapples
On -10/01/37 20:59, Hammer Attila wrote:
Hy,
I maked a demo Orca main window how looks with Michael would like
seeing if I understand right Michael suggestion.
I sending two files, orca_demo.py and orca_demo.ui, please try if
you extracted the attachments with equals directory with following
command:
python orca_demop.py
I try make very similar order for Orca main window the widgets.
If you running orca_demo.py file, you will be seeing a very
similar result I think with Michael would like.
If we not change the design, all time the read-only textview
vidget are focused when Orca main window is presented. This is
good?
Please not surprise, textview containing text is wordwrapping
short words, but if you maximize the main window, you see longer
text size lines with the textview widget. Now I not wanting adding
signals for buttons, but if you closing the main window for ALT+F4
key combination, the demo main window application is closing
right.
Caret navigation is working, because glade default enabling the
cursor for textview widget, I don't understand other applications
this is why not happening. Developers simple disabling the cursor
for read-only edit boxes and text views?
Sayall operation is usable too to read introduction text.
Attila
#!/usr/bin/env python
import gtk
import gettext
from gettext import gettext as _
gettext.textdomain('trainermode')
class Orca_mainwindow(gtk.Builder):
def __init__(self):
gtk.Builder.__init__(self)
self.set_translation_domain('trainermode')
self.add_from_file("orca_demo.ui")
self.connect_signals(self)
self.get_object("textbuffer1").set_text("Welcome for Orca Screen reader!\n\
Orca is an extensible, flexible, open source screen reader and magnifier with provide you speech, magnifier, and braille support for GNOME desktop environment.\n\
Other informations are follow up the next paragraph.")
iter = self.get_object("textbuffer1").get_iter_at_offset(0)
self.get_object("textbuffer1").place_cursor(iter)
def quit(self, vidget):
gtk.main_quit()
def run(self):
self.get_object("window1").show()
gtk.main()
if __name__ == "__main__":
orca_demo=Orca_mainwindow()
orca_demo.run()
gtk.main_quit()
<?xml version="1.0"?>
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy project-wide -->
<object class="GtkWindow" id="window1">
<property name="title" translatable="yes">Orca Screen Reader and Magnifier</property>
<signal name="destroy" handler="quit"/>
<child>
<object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<child>
<object class="GtkTextView" id="textview1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="wrap_mode">word</property>
<property name="buffer">textbuffer1</property>
</object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="preferences_button">
<property name="label">gtk-preferences</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="quit_button">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="about_button">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="position">3</property>
</packing>
</child>
<child>
<object class="GtkButton" id="help_button">
<property name="label">gtk-help</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="position">4</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
<object class="GtkTextBuffer" id="textbuffer1"/>
</interface>
|