Coder Social home page Coder Social logo

traitsui's Introduction

TraitsUI: Traits-capable windowing framework

The TraitsUI project provides a toolkit-independent GUI abstraction layer, which is used to support the "visualization" features of the Traits package. You can write a model using the Traits API and specify a GUI using the TraitsUI API (views, items, editors, etc.), and let TraitsUI and your selected toolkit back-end (Qt or Wx) take care of the details of displaying them.

Example

Given a Traits model like the following:

from traits.api import HasTraits, Str, Range, Enum

class Person(HasTraits):
    name = Str('Jane Doe')
    age = Range(low=0)
    gender = Enum('female', 'male')

person = Person(age=30)

And using TraitsUI to specify and display a GUI view:

from traitsui.api import Item, RangeEditor, View

person_view = View(
    Item('name'),
    Item('gender'),
    Item('age', editor=RangeEditor(mode='spinner', low=0, high=150)),
    buttons=['OK', 'Cancel'],
    resizable=True,
)

person.configure_traits(view=person_view)

It creates a GUI which looks like this:

https://raw.github.com/enthought/traitsui/main/README_example.png

Important Links

Installation

If you want to run traitsui, you must also install:

You will also need one of the following backends:

  • wxPython
  • PySide2
  • PyQt5

Backends have additional dependencies and there are optional dependencies on NumPy and Pandas for some editors.

TraitsUI along with all dependencies can be installed in a straightforward way using the Enthought Deployment Manager, pip or other package managers.

Running the Test Suite

To run the test suite, you will need to install Git and EDM as well as have a Python environment which has install Click available. You can then follow the instructions in etstool.py. In particular:

> python etstool.py test_all

will run tests in all supported environments automatically.

traitsui's People

Contributors

aaronayres35 avatar achabotl avatar agrawalprash avatar bergtholdt avatar burnpanck avatar cfarrow avatar corranwebster avatar epatters avatar ievacerny avatar itziakos avatar jonathanrocher avatar jwiggins avatar kitchoi avatar mdickinson avatar notmatthancock avatar pankajp avatar pberkes avatar prabhuramachandran avatar pradyunsg avatar punchagan avatar rahulporuri avatar rkern avatar robind42 avatar sandhya-sago avatar senganal avatar shoeb-github avatar stefanoborini avatar timdiller avatar tonysyu avatar warrenweckesser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

traitsui's Issues

Envisage/Task application error on close

When I close my Envisage/Task application I get this error:

Traceback (most recent call last):
File "/home/eraldop/Install_pkg/ETS/traitsui/traitsui/qt4/file_editor.py", line 85, in update_object
self._update(unicode(self._file_name.text()))
File "/home/eraldop/Install_pkg/ETS/traitsui/traitsui/qt4/file_editor.py", line 147, in _update
if self.factory.truncate_ext:
AttributeError: 'NoneType' object has no attribute 'truncate_ext'

It seams to be a traitsui toolkit related issue.

Eraldo

BUG: creating editor for DelegatesTo to an Event gives an error

in this test code:

class Parent(HasTraits):
    say_hello = Button
    child = Instance('Child')

    def create_child(self):
        self.child = Child(parent = self)

    def _say_hello_fired(self):
        print "hello"

class Child(HasTraits):
    parent = Instance('Parent')
    say_hello = DelegatesTo('parent')


parent = Parent()
parent.create_child()

parent.say_hello = True
parent.child.say_hello = True

parent.child.configure_traits()

i get an error:
AttributeError: The say_hello trait of a Parent instance is an 'event', which is write only.

The problem seems to be in the special handling of events in editor.py, line 133, which fails for a delegate to an event

...
try:
            self.old_value = getattr( self.object, self.name )
        except AttributeError:
            ctrait = self.object.trait(self.name)
            if ctrait.type == 'event' or self.name == 'spring':
                # Getting the attribute will fail for 'Event' traits:
                self.old_value = Undefined
            else:
                raise
...

for the test code above, ctrait.type is 'delegate'.
Reverting commit 6954ff0 resolves this problem, but probably there is a better solution.

Thanks
Gregor

CSVListEditor does not remove the notification hook

The CSVListEditor does not remove the notification hook on the items of the list.

The problem is located in the _make_text_editor method of the CSVListEditor factory. The method first creates a TextEditor
and then externally hooks a change notifier for the editor update method to be called on any item change in the list, However the editor not aware of this additional notification hook and the change notifier is not removed by the editors dispose method. As a result the notifier is called even when the editor is not valid anymore.

The following code sample demonstrates the issue:

from traits.api import HasTraits, List, Float, Instance
from traitsui.api import View, Item, CSVListEditor, ModelView, InstanceEditor

class MyClass(HasTraits):
    data = List(Float)

class MyClassModelView(ModelView):
    model = Instance(MyClass)

    traits_view = View(
        Item('model.data', editor = CSVListEditor()),
        buttons = ['OK']
    )

my_class = MyClass(data=[1,2,3])
my_class_model_view=MyClassModelView(model=my_class)
my_class_model_view.configure_traits()  # just close the window no need to make any change
my_class.data.append(2)  # this call will raise a trait error
print my_class.data

Running the code with a recent traitsui checkout causes the following traits error:

Exception occurred in traits notification handler.
Please check the log file for details.
Exception occurred in traits notification handler for object: <main.MyClass object at 0x05262F60>, trait: data_items, old value: [], new value: [2.0]
Traceback (most recent call last):
File "C:\epd32\71\lib\site-packages\traits\trait_notifiers.py", line 511, in rebind_call_0
self.dispatch( getattr( self.object(), self.name ) )
File "C:\epd32\71\lib\site-packages\traits\trait_notifiers.py", line 454, in dispatch
handler( *args )
File "c:\users\ionnis\projects\traitsui\traitsui\wx\text_editor.py", line 142, in update_editor
user_value = self._get_user_value()
File "c:\users\ionnis\projects\traitsui\traitsui\wx\text_editor.py", line 166, in _get_user_value
value = self.control.GetValue()
AttributeError: 'NoneType' object has no attribute 'GetValue'

traitsui_qt4/ui_panel.py size policy bug

In _set_item_size_policy() in ui_panel.py within the traitsui_qt4 implementation, the QSizePolicy is incorrectly set:
"and item_policy == QtGui.QSizePolicy.Policy.Minimum):"
which should be:
"and item_policy == QtGui.QSizePolicy.Minimum):"

I noticed that it broke the PreferencesPage for Logger within an Envisage Workbench app.

ListEditor broken in 4.4

The latest release breaks the ListEditor.
No context menu shows up, when the button on a list item is pressed

( PyQt 4.10, OSX )

string_list_editor_example.py fails in wx

Seems to run ok in qt.

in wx, fails at wx/ui_panel.py, line 1045, reference to undefined editor.border_size.

This is apparently because the example's class StringListEditor is not defined to be toolkit-independent, so that editor is just a UIEditor rather than an instance of the wx-specific subclass.

Numpy tabular editor demo has font issue

When running the demo at examples/demo/Advanced/NumPy_array_tabular_editor_demo.py I get the following exception when hovering over the table.

OnGetItemAttr
attr.SetFont( font )
File "/Library/Frameworks/Python.framework/Versions/7.0/lib/python2.7/site-packages/wx/_controls.py", line 4163, in SetFont
return controls.ListItemAttr_SetFont(_args, *_kwargs)
TypeError: in method 'ListItemAttr_SetFont', expected argument 2 of type 'wxFont const &'

Running from master on OSX 10.6.

wx: TabularEditor multi-select from keyboard does not update correctly

When multi-select is done from keyboard (e.g. shift+down), the visible selection changes as expected, but the 'selected' List trait does not update. However if subsequently the selection is modified by mouse (e.g. Ctrl+click), the 'selected' trait updates as expected (i.e. it 'catches up').

Example: demo Multi_select_string_list.py

wx: OSX, Windows

TabularEditor: broken behavior of left and right cursor keys

In OS X, wx backend:

In a Tabular editor, the left and right cursor keys are supposed to move the currently selected row up and down, respectively. This appears to be broken. Run either of these demos and hit the left and right cursor keys several times:
traitsui/examples/demo/Advanced/Tabular_editor_demo.py
traitsui/examples/demo/Advanced/Auto_update_TabularEditor_demo.py
The editor appears to lose track of what row is currently selected.

Need API documentation

API documentation is referred to in the docs but has not been generated and published. This is a matter of generating the stubs with sphinx-apidoc and integrating with the existing docs.

FileEditor for qt4 backend: no save file dialog

The wx backend supports the dialog_style='save' option, but the qt4 one does not.
So when creating a Save file... kind of dialog, the user has to select a random file in the desired path, then change the name of the file after exiting the browser.

File dialog filters broken on Traits 4.2.0 with qt

from traits.etsconfig.api import ETSConfig
ETSConfig.toolkit = 'qt4'
from traits.api import HasTraits, File
from traitsui.api import View

class FEB(HasTraits):

    correct = File(filter=['*.txt', '*.*'])
    fubared = File(filter=['text files|*.txt', 'all files|*.*'])

    traits_view = View('correct', 'fubared')

if __name__ == '__main__':
    FEB().configure_traits()

In the above, the filter works for the correct file trait, but is broken for the fubared.

BUG: ProgressEditor basic usage

There is little documentation on the ProgressEditor, so this may be incorrect usage. But I don't think so.

The following example will correctly update the GUI progress editor on wx, but each iteration in _go_button_fired() raises an exception.

from traits.etsconfig.etsconfig import ETSConfig
ETSConfig.toolkit = 'wx'

from time import sleep

from traits.api import HasTraits, Button, Int
from traitsui.api import ProgressEditor, View, Item, HGroup

MAX = 100

class Foo(HasTraits):

    val = Int
    go_button = Button("GO")

    def _go_button_fired(self):
        while self.val < MAX:
            sleep(0.1)
            self.val += 1
        self.val = 0

    def traits_view(self):
        return View(
                HGroup(
                    Item('go_button', show_label=False),
                    Item('val',
                        show_label=False,
                        editor=ProgressEditor(
                            min=0,
                            max=MAX,
                            ),
                        ),
                    ),
                )


if __name__ == '__main__':
    f = Foo()
    f.configure_traits()

items tutorial causes bus error

The tutorial entitled Extended Traits UI Item and Editor References causes a bus error when run from the tutor application.
This is running all of ETS from the master on OSX 10.6.

Start tutor.py under traitsui/examples/tutorials and click on the mentioned tutorial.

Flyover text contains undesirable prefix 'Specifies '

From: K.-Michael Aye [email protected]
Date: Tue, Sep 27, 2011 at 4:51 PM
Subject: [Enthought-Dev] [traits] 'desc' argument problem
To: [email protected]

Using 'desc' with any (I tried Button and Str) adds the string
'Specifies' in the bubble text in front of the given text on my system.

So when I do:
status = Str(desc='Feedback text')

and I hover over this Item, the bubble text says: 'Specifies Feedback text'

Corruption when traitsui specifies font with wx - ipython, OSX

Example: NumPy_array_view_editor_demo.py
font = 'Arial 8' works in Windows and Ubuntu, but in OSX fails with:
TraitError: The 'font' trait of an ArrayViewEditor instance must be a font descriptor string, but a value of "'Arial 8'" <<type 'str'> was specified.

8 point Arial is a valid font on the system.

[details below]

how do i put mutiple object views in mainview

Hello,

i've got a may be little problem. I want to generate a view which bundles the views of some objects. My problem is, the number of this Objects is not static, so i generate a list which contains them. How is the easiest way to get this flexible number of views into the main window?

I hope my issue is clearly described.

Greetings, Matthias

TraitsUIPanel has no attribute GetValue

When running the Traits examples/demo/Standard_Editors/ColorEditor_demo.py, I tried to enter a text value ("olive") into the Color field as well as modify the rgb() value, and both times received the following traceback:

Traceback (most recent call last):
File "/home/jmarshall/env/ets/lib/python2.7/site-packages/traitsui-3.6.1-py2.7.egg/traitsui/wx/color_editor.py", line 250, in update_object
self.value = w3c_color_database.Find(self.control.GetValue())
AttributeError: 'TraitsUIPanel' object has no attribute 'GetValue'

HSplit groups conflicts with mayavi toolbar buttons (pyside)

The example mayavi/examples/mayavi/interactive/mayavi_traits_ui.py fails with pyside when clicking on one of the toolbar buttons with the exception

Traceback (most recent call last):
File "c:\users\pietro berkes\devel\ets\pyface\pyface\ui\qt4\action\action_item
.py", line 352, in _qt4_on_triggered
print 'control', self.control.isChecked()
RuntimeError: Internal C++ object (PySide.QtGui.QAction) already deleted.

The problem can be solved by changing the HSplit group to an HGroup in the example.

The code laying out the splitters seems to be deleting those QActions somehow...

wx: Spring in VGroup does not move following widgets down as expected

See traitsui example using_springs.py

One would expect the vertical behavior to be analogous to the horizontal behavior. Actually I thought that it did behave as expected c 7/1/2011 in Ubuntu, but does not now, in OSX, Ubuntu, and Windows (under wx).

Correcting: this is under wx, not qt

Default RangeEditor for a Range Trait fails if 'low' or 'high' is a string holding another Trait name.

The 'low' and 'high' arguments of the Range trait can be given strings that hold the names of other traits. However, attempting to bring up a UI for a class with such a trait will fail. It appears that the RangeEditor does not handle this case. (The RangeEditor has its own arguments, 'low_name' and 'high_name', to handle the bounds being defined by other traits.)

For example:

from traits.api import HasTraits, Range, Float, TraitError

class Foo(HasTraits):
    upper = Float(10.0)
    x = Range(low=0.0, high='upper')

if __name__ == "__main__":
    f = Foo()
    f.x = 5.0
    print "f.x is now", f.x
    try:
        f.x = 50.0
    except TraitError:
        print "TraitError exception, as expected."

    # This will fail.
    f.configure_traits()

The output is

f.x is now 5.0
TraitError exception, as expected.
Traceback (most recent call last):
  File "range_with_named_high.py", line 18, in <module>
    f.configure_traits()
  File "/Users/warren/ets-master/traits/traits/has_traits.py", line 2544, in configure_traits
    kind, handler, id, scrollable, args )
  File "/Users/warren/ets-master/traitsui/traitsui/wx/toolkit.py", line 219, in view_application
    id, scrollable, args )
  File "/Users/warren/ets-master/traitsui/traitsui/wx/view_application.py", line 80, in view_application
    scrollable, args ).ui.result
  File "/Users/warren/ets-master/traitsui/traitsui/wx/view_application.py", line 123, in __init__
    super( ViewApplication, self ).__init__()
  File "/Library/Frameworks/Python.framework/Versions/7.0/lib/python2.7/site-packages/wx/_core.py", line 8078, in __init__
    wx.App.__init__(self, redirect, filename, useBestVisual, clearSigInt)
  File "/Library/Frameworks/Python.framework/Versions/7.0/lib/python2.7/site-packages/wx/_core.py", line 7978, in __init__
    self._BootstrapApp()
  File "/Library/Frameworks/Python.framework/Versions/7.0/lib/python2.7/site-packages/wx/_core.py", line 7552, in _BootstrapApp
    return _core_.PyApp__BootstrapApp(*args, **kwargs)
  File "/Users/warren/ets-master/traitsui/traitsui/wx/view_application.py", line 140, in OnInit
    args       = self.args )
  File "/Users/warren/ets-master/traitsui/traitsui/view.py", line 433, in ui
    ui.ui( parent, kind )
  File "/Users/warren/ets-master/traitsui/traitsui/ui.py", line 218, in ui
    self.rebuild( self, parent )
  File "/Users/warren/ets-master/traitsui/traitsui/wx/toolkit.py", line 140, in ui_live
    ui_live.ui_live( ui, parent )
  File "/Users/warren/ets-master/traitsui/traitsui/wx/ui_live.py", line 68, in ui_live
    ui_dialog( ui, parent, NONMODAL )
  File "/Users/warren/ets-master/traitsui/traitsui/wx/ui_live.py", line 99, in ui_dialog
    ui.owner.init( ui, parent, style )
  File "/Users/warren/ets-master/traitsui/traitsui/wx/ui_live.py", line 223, in init
    sw = panel( ui, window )
  File "/Users/warren/ets-master/traitsui/traitsui/wx/ui_panel.py", line 349, in panel
    content[0], ui )
  File "/Users/warren/ets-master/traitsui/traitsui/wx/ui_panel.py", line 523, in fill_panel_for_group
    create_panel )
  File "/Users/warren/ets-master/traitsui/traitsui/wx/ui_panel.py", line 672, in __init__
    self.add_items(content, panel, self.sizer)
  File "/Users/warren/ets-master/traitsui/traitsui/wx/ui_panel.py", line 1026, in add_items
    item_panel ).set(
  File "/Users/warren/ets-master/traitsui/traitsui/editors/range_editor.py", line 271, in simple_editor
    return super(RangeEditor, self).simple_editor(ui, object, name, description, parent)
  File "/Users/warren/ets-master/traitsui/traitsui/editor_factory.py", line 130, in simple_editor
    return self.simple_editor_class( parent,
  File "/Users/warren/ets-master/traitsui/traitsui/editors/range_editor.py", line 216, in _get_simple_editor_class
    if (not is_float) and (abs(high - low) > 1000000000L):
TypeError: unsupported operand type(s) for -: 'float' and 'code'

pyface breaks with wx 2.9

In the migration from 2.8 to 2.9, a few aliases have been deleted, most notably the american-spelling names for colors (see http://wxpython.org/MigrationGuide.html).

pyface has not been updated and fails, e.g.

/Applications/Canopy.app/appdata/canopy-1.0.0.1160.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/pyface/ui/wx/progress_dialog.pyc in _create_control(self, parent)
    300         dialog.SetSizer(sizer)
    301         dialog.SetAutoLayout(True)
--> 302         dialog.SetBackgroundColour(wx.NullColor)
    303
    304         self.dialog_size = wx.Size()

AttributeError: 'module' object has no attribute 'NullColor'

A user reports that after defining the alias by hand, the background of the window is black.

Tests with Qt backend on Mac run, then exit with "Bus error: 10"

When I run the tests on Mac with ETS_CONFIG=qt4 nosetests traitsui/tests, the test run and pass, but the process exit with "Bus error: 10".

Error report:

Process:         Python [31243]
Path:            /Library/Frameworks/Python.framework/Versions/7.1/Resources/Python.app/Contents/MacOS/Python
Identifier:      org.python.python
Version:         2.7.2 (2.7.2)
Code Type:       X86 (Native)
Parent Process:  bash [30632]

Date/Time:       2013-03-04 09:23:54.044 +0000
OS Version:      Mac OS X 10.7.5 (11G63)
Report Version:  9

Interval Since Last Report:          2377090 sec
Crashes Since Last Report:           151
Per-App Interval Since Last Report:  511447 sec
Per-App Crashes Since Last Report:   37
Anonymous UUID:                      0E66E9DA-000E-4145-920A-1F2DE8A31FF8

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000028

VM Regions Near 0x28:
--> __PAGEZERO             0000000000000000-0000000000001000 [    4K] ---/--- SM=NUL  /Library/Frameworks/Python.framework/Versions/7.1/Resources/Python.app/Contents/MacOS/Python
    __TEXT                 0000000000001000-0000000000002000 [    4K] r-x/rwx SM=COW  /Library/Frameworks/Python.framework/Versions/7.1/Resources/Python.app/Contents/MacOS/Python

Application Specific Information:
objc[31243]: garbage collection is OFF

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   org.python.python               0x000da1b1 PyErr_Occurred + 17
1   org.python.python               0x0008b24f PyObject_ClearWeakRefs + 143
2   org.python.python               0x00079199 subtype_dealloc + 377
3   org.python.python               0x00075330 tupledealloc + 192
4   org.python.python               0x0005791f dict_dealloc + 159
5   libshiboken-python2.7.1.1.dylib 0x05291148 Shiboken::Object::deallocData(SbkObject*, bool) + 408
6   libshiboken-python2.7.1.1.dylib 0x052912e4 SbkDeallocWrapper + 68
7   libshiboken-python2.7.1.1.dylib 0x0528f410 Shiboken::Object::removeParent(SbkObject*, bool, bool) + 208
8   libshiboken-python2.7.1.1.dylib 0x0528fca5 (anonymous namespace)::_destroyParentInfo(SbkObject*, bool) + 133
9   libshiboken-python2.7.1.1.dylib 0x05291521 Shiboken::Object::destroy(SbkObject*, void*) + 65
10  libshiboken-python2.7.1.1.dylib 0x052a00a2 Shiboken::BindingManager::~BindingManager() + 162
11  libsystem_c.dylib               0x96bd6944 __cxa_finalize + 243
12  libsystem_c.dylib               0x96bd67f2 exit + 25
13  org.python.python               0x000f170d handle_system_exit + 253
14  org.python.python               0x000f1965 PyErr_PrintEx + 437
15  org.python.python               0x000f1f50 PyRun_SimpleFileExFlags + 320
16  org.python.python               0x0010b018 Py_Main + 3544
17  org.python.python               0x00001fb6 0x1000 + 4022

Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib          0x9538790a kevent + 10
1   libdispatch.dylib               0x9c36ae04 _dispatch_mgr_invoke + 969
2   libdispatch.dylib               0x9c369853 _dispatch_mgr_thread + 53

Thread 2:
0   libsystem_kernel.dylib          0x9538702e __workq_kernreturn + 10
1   libsystem_c.dylib               0x96be5ccf _pthread_wqthread + 773
2   libsystem_c.dylib               0x96be76fe start_wqthread + 30

Thread 3:
0   libsystem_kernel.dylib          0x9538702e __workq_kernreturn + 10
1   libsystem_c.dylib               0x96be5ccf _pthread_wqthread + 773
2   libsystem_c.dylib               0x96be76fe start_wqthread + 30

Thread 4:
0   libsystem_kernel.dylib          0x9538702e __workq_kernreturn + 10
1   libsystem_c.dylib               0x96be5ccf _pthread_wqthread + 773
2   libsystem_c.dylib               0x96be76fe start_wqthread + 30

Thread 5:
0   libsystem_kernel.dylib          0x9538702e __workq_kernreturn + 10
1   libsystem_c.dylib               0x96be5ccf _pthread_wqthread + 773
2   libsystem_c.dylib               0x96be76fe start_wqthread + 30

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000000  ebx: 0x0008b1d1  ecx: 0x000da1a5  edx: 0x00000000
  edi: 0x0e3ae210  esi: 0x0e3ae210  ebp: 0xbffff078  esp: 0xbffff078
   ss: 0x00000023  efl: 0x00210246  eip: 0x000da1b1   cs: 0x0000001b
   ds: 0x00000023   es: 0x00000023   fs: 0x00000000   gs: 0x0000000f
  cr2: 0x00000028
Logical CPU: 2

Binary Images:
    0x1000 -     0x1ff8 +org.python.python (2.7.2 - 2.7.2) <B75F79E4-7622-0FFA-6BC8-E03113D46552> /Library/Frameworks/Python.framework/Versions/7.1/Resources/Python.app/Contents/MacOS/Python
    0x5000 -   0x143fe3 +org.python.python (2.7.2, [c] 2004-2011 Python Software Foundation. - 2.7.2) <3554819E-461F-CABF-8E2D-ABB5555612F7> /Library/Frameworks/Python.framework/Versions/7.1/Python
  0x2dc000 -   0x2ddfff +time.so (??? - ???) <CD872BCB-43A8-6D69-7E82-8B1C05DF3654> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/time.so
  0x2e4000 -   0x2e5fff +cStringIO.so (??? - ???) <62B04741-5CE8-BA8F-7945-24EC73DE7ECE> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/cStringIO.so
  0x2ea000 -   0x2edff3 +_collections.so (??? - ???) <73028676-B36C-BD34-DED1-662021B13486> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_collections.so
  0x2f3000 -   0x2f6ff7 +operator.so (??? - ???) <69EDE1AD-D794-CAAF-D650-FAAF16592F6B> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/operator.so
  0x440000 -   0x445ff6 +itertools.so (??? - ???) <BF586947-8DFA-173F-63FD-233F6AA8A7C1> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/itertools.so
  0x44e000 -   0x44eff5 +_bisect.so (??? - ???) <7CF8518E-468A-E27A-3DB8-0C4C7EC119E4> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_bisect.so
  0x452000 -   0x453ff9 +_heapq.so (??? - ???) <45A94B0C-89E0-4D5E-E6A7-BCC47F96943A> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_heapq.so
  0x498000 -   0x499ff3 +_functools.so (??? - ???) <C51630DD-862C-3ECA-CEF7-107EEE98C2AF> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_functools.so
  0x4dd000 -   0x4e0fff +strop.so (??? - ???) <F8993583-B86D-3677-5079-3C647509C91A> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/strop.so
  0x546000 -   0x547ff4 +_locale.so (??? - ???) <1A0E53C2-E2EE-DED2-F953-4AE7C6037B74> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_locale.so
  0x54b000 -   0x54efff +_struct.so (??? - ???) <C6DB0E9F-62D0-9987-C278-366EF3A19E53> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_struct.so
  0x5d5000 -   0x5e4ffe +parser.so (??? - ???) <C03F14F2-1F20-57BE-D797-4745AA4DEC63> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/parser.so
  0x62a000 -   0x638fff +cPickle.so (??? - ???) <9FF51359-1B1A-D9D4-DC5D-023F839D2C90> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/cPickle.so
  0x640000 -   0x642ffd +zlib.so (??? - ???) <F3167249-48D6-145E-3596-4775ACAC5D26> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/zlib.so
  0x6c2000 -   0x6c4ff6 +binascii.so (??? - ???) <C1B3E551-E89A-3E0D-9CE2-2BCC8C580960> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/binascii.so
  0x6c9000 -   0x6d5fff +datetime.so (??? - ???) <72ED12C6-E3C7-25DE-8658-74E5A4B08849> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/datetime.so
  0x6e0000 -   0x70efe7 +pyexpat.so (??? - ???) <B5806103-E390-EC68-7F08-E59E95C6F8AA> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/pyexpat.so
  0x75e000 -   0x760fff +_multiprocessing.so (??? - ???) <79589159-82A5-D593-D2D4-415AA800A46A> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_multiprocessing.so
  0x7a6000 -   0x7adff7 +_socket.so (??? - ???) <37A94C07-43DE-0CD2-40FB-37428B89778D> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_socket.so
  0x7b6000 -   0x7b9fff +_ssl.so (??? - ???) <9D9C2F93-E7A8-81DB-02D6-62BDA66D9D9F> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_ssl.so
  0x7bf000 -   0x7e2ffc  libssl.0.9.7.dylib (0.9.7 - compatibility 0.9.7) <EAD01EC4-D8D7-3462-84E5-A74BEB52B456> /usr/lib/libssl.0.9.7.dylib
  0x7f0000 -   0x7f4fef +math.so (??? - ???) <AFA16E24-2005-B002-C7BC-D5258725D342> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/math.so
  0x7fa000 -   0x7fafff +_hashlib.so (??? - ???) <934621F2-35B3-AF8D-B20D-9E968F0A8ACD> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_hashlib.so
 0x1100000 -  0x11adff7  libcrypto.0.9.7.dylib (0.9.7 - compatibility 0.9.7) <7B6DB792-C9E5-3772-8734-8D0052757B8C> /usr/lib/libcrypto.0.9.7.dylib
 0x1232000 -  0x1235ffe +_sha256.so (??? - ???) <92F56AB0-2B44-94E7-426D-959723792FC9> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_sha256.so
 0x1239000 -  0x1246ff1 +_sha512.so (??? - ???) <A465EEA7-602B-CFAC-F35A-C93C95A34710> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_sha512.so
 0x124a000 -  0x124bfff +_random.so (??? - ???) <6E8F6E11-597B-C7F3-19E1-A193405AA3E5> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_random.so
 0x124f000 -  0x1250ff0 +fcntl.so (??? - ???) <58CE27EC-B4C3-5952-4AF5-41F04EEA4057> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/fcntl.so
 0x1294000 -  0x1297fff +_hotshot.so (??? - ???) <46AB3DCF-06FD-1FDE-7520-B1D75AABEE08> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_hotshot.so
 0x129c000 -  0x129cfff +resource.so (??? - ???) <3FFF7F5E-CF62-A6F6-551F-CCC84384B721> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/resource.so
 0x12e0000 -  0x12e0ff0 +_scproxy.so (??? - ???) <DC59A587-2392-D46E-6ECE-A29822CE661C> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_scproxy.so
 0x1324000 -  0x132dffe +ctraits.so (??? - ???) <5399EA70-6FB0-3215-9CB6-959AA5226F0B> /Users/USER/*/ctraits.so
 0x1375000 -  0x137dff1 +_speedups.so (??? - ???) <2C370F50-4609-3A96-8B31-A2988BD33FF0> /Users/USER/*/_speedups.so
 0x13c5000 -  0x13d7fff +_ctypes.so (??? - ???) <61C56358-84AF-DDB7-D33D-87725A14494F> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_ctypes.so
 0x13e5000 -  0x13e9fff +_dotblas.so (??? - ???) <AEE55A77-334B-C944-8EE0-DF1255F7E6A5> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/numpy/core/_dotblas.so
 0x13ed000 -  0x13f1fff +_compiled_base.so (??? - ???) <3108579C-CD20-9C1B-3B2C-99A4AFC8F91B> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/numpy/lib/_compiled_base.so
 0x13f5000 -  0x13f8ffd +lapack_lite.so (??? - ???) <BA7C749C-C11F-BEB4-5667-878D908FDD5E> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so
 0x15fe000 -  0x16edfef +multiarray.so (??? - ???) <93CC3DFF-E3D1-0C7F-013B-C38C4B743617> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/numpy/core/multiarray.so
 0x1769000 -  0x17acffb +umath.so (??? - ???) <0F088BA9-804C-F12D-4C89-AA7D3E38C38E> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/numpy/core/umath.so
 0x17cf000 -  0x17e9ff7 +_sort.so (??? - ???) <23F373C7-47BF-6F8E-F8D5-6C32FCF0610A> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/numpy/core/_sort.so
 0x1832000 -  0x1addfe7 +libmkl_intel.dylib (??? - ???) <41E7E26E-C7D0-7E8D-79CF-D495C1D32A82> /Library/Frameworks/Python.framework/Versions/7.1/lib/libmkl_intel.dylib
 0x1bac000 -  0x21bcfe7 +libmkl_intel_thread.dylib (??? - ???) <0B7878F1-C5F6-5506-E414-22723C840617> /Library/Frameworks/Python.framework/Versions/7.1/lib/libmkl_intel_thread.dylib
 0x252b000 -  0x2e30fe7 +libmkl_core.dylib (??? - ???) <8394EC87-67F8-4633-567B-7FDFDB85E980> /Library/Frameworks/Python.framework/Versions/7.1/lib/libmkl_core.dylib
 0x2f75000 -  0x3dfcfef +libmkl_p4m.dylib (??? - ???) <E790E2DD-A13E-8F59-5744-3F91E9F47EC5> /Library/Frameworks/Python.framework/Versions/7.1/lib/libmkl_p4m.dylib
 0x3eb1000 -  0x4b76feb +libmkl_p4p.dylib (??? - ???) <A40DC0CD-545D-8482-5923-EB531F9BB81A> /Library/Frameworks/Python.framework/Versions/7.1/lib/libmkl_p4p.dylib
 0x4c2b000 -  0x4c96fe3 +libiomp5.dylib (5.0.0 - compatibility 5.0.0) <4350B779-96B4-27AD-5F5D-195282757171> /Library/Frameworks/Python.framework/Versions/7.1/lib/libiomp5.dylib
 0x4cbb000 -  0x4cdfff7 +scalarmath.so (??? - ???) <4CED21A2-480F-BA3A-03C0-F12584D6BB22> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/numpy/core/scalarmath.so
 0x4d2e000 -  0x4d2eff7 +grp.so (??? - ???) <C8EE1DB5-9037-58CE-5A36-15FFC5F0C5A2> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/grp.so
 0x4d72000 -  0x4d73fff +mkldft.so (??? - ???) <36E039C5-5956-8C08-0C9E-4B4FA436A3DD> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/fastnumpy/mkldft.so
 0x4d77000 -  0x4d7ffff +fftpack_lite.so (??? - ???) <98543C30-566C-13C9-F3F7-CC575605705C> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/numpy/fft/fftpack_lite.so
 0x4e04000 -  0x4e40fff +mtrand.so (??? - ???) <4618B547-13B5-C838-BD17-697E10093491> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/numpy/random/mtrand.so
 0x4ec7000 -  0x50e5fff +QtCore.so (??? - ???) <30A3B267-9D2A-1C5E-66DF-DD23C8D26FCD> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/PySide/QtCore.so
 0x5254000 -  0x5271fe9 +libpyside-python2.7.1.1.dylib (1.1.0 - compatibility 1.1.0) <AB4A2FC6-AB2D-A2A8-B047-86434A669178> /Library/Frameworks/Python.framework/Versions/7.1/lib/libpyside-python2.7.1.1.dylib
 0x528c000 -  0x52aaffb +libshiboken-python2.7.1.1.dylib (1.1.0 - compatibility 1.1.0) <137BBD35-F60A-A331-1B43-CFDB241B0CBE> /Library/Frameworks/Python.framework/Versions/7.1/lib/libshiboken-python2.7.1.1.dylib
 0x52cc000 -  0x552efeb +QtCore (4.7.3 - compatibility 4.7.0) <6CA2905E-016E-90C8-D90E-70122A565EB8> /Library/Frameworks/Python.framework/Versions/7.1/Frameworks/QtCore.framework/Versions/4/QtCore
 0x67f0000 -  0x67f6ff3 +libqgif.dylib (??? - ???) <61E30D44-9CD5-541B-52CB-38D233E68D5A> /Library/Frameworks/Python.framework/Versions/7.1/PlugIns/imageformats/libqgif.dylib
 0x87a5000 -  0x90b7fef +QtGui.so (??? - ???) <578E3598-5E6A-19F8-5A80-4C99F70CF0E7> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/PySide/QtGui.so
 0x96cc000 -  0xa041ff7 +QtGui (4.7.3 - compatibility 4.7.0) <BA1BC4D7-D9EA-B036-E556-4CB3E63149E7> /Library/Frameworks/Python.framework/Versions/7.1/Frameworks/QtGui.framework/Versions/4/QtGui
 0xa2eb000 -  0xa2f1fff +libqico.dylib (??? - ???) <1804353B-071A-F4E0-3AD1-90F3AA2CD166> /Library/Frameworks/Python.framework/Versions/7.1/PlugIns/imageformats/libqico.dylib
 0xa2f7000 -  0xa2fbffb +libqsvg.dylib (??? - ???) <4A4B5884-8B36-FDA7-A529-EBDCD317FD45> /Library/Frameworks/Python.framework/Versions/7.1/PlugIns/imageformats/libqsvg.dylib
 0xabb0000 -  0xabc2fff +_io.so (??? - ???) <4B6D8D28-9D21-51DF-D77B-91F8BCA8EC40> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/lib-dynload/_io.so
 0xabd6000 -  0xabf4ffb +QtSvg.so (??? - ???) <B6B7817E-0ED2-247D-8F8B-8A5B0A99B629> /Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/site-packages/PySide/QtSvg.so
 0xe0cb000 -  0xe114fe3 +QtSvg (4.7.3 - compatibility 4.7.0) <A8B09843-E067-6909-DDCB-8BAF57BF810E> /Library/Frameworks/Python.framework/Versions/7.1/Frameworks/QtSvg.framework/Versions/4/QtSvg
 0xe500000 -  0xe535fef +libqjpeg.dylib (??? - ???) <CF70A148-3C2F-E390-8741-7E940E36D59C> /Library/Frameworks/Python.framework/Versions/7.1/PlugIns/imageformats/libqjpeg.dylib
 0xe53e000 -  0xe588fe7 +libqmng.dylib (??? - ???) <2AC8304C-7464-EBCF-D7EA-45D0C839C502> /Library/Frameworks/Python.framework/Versions/7.1/PlugIns/imageformats/libqmng.dylib
 0xe598000 -  0xe5ebfe3 +QtXml (4.7.3 - compatibility 4.7.0) <B1531E1B-4CE6-2FCA-44AF-2583F30E385A> /Library/Frameworks/Python.framework/Versions/7.1/Frameworks/QtXml.framework/Versions/4/QtXml
 0xe605000 -  0xe654ffb +libqtiff.dylib (??? - ???) <B1AE3A6D-AD58-193D-812D-73B3B53BE235> /Library/Frameworks/Python.framework/Versions/7.1/PlugIns/imageformats/libqtiff.dylib
0x8fe66000 - 0x8fe98aa7  dyld (195.6 - ???) <60FD3471-A1D7-342E-99A7-3EDECDAEC6EC> /usr/lib/dyld
0x90140000 - 0x90180ff7  libauto.dylib (??? - ???) <984C81BE-FA1C-3228-8F7E-2965E7E5EB85> /usr/lib/libauto.dylib
0x90406000 - 0x90532ff9  com.apple.CFNetwork (520.5.1 - 520.5.1) <F3C606BF-6DCF-33CD-981B-7253C9E3113A> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x90533000 - 0x90535ffb  libRadiance.dylib (??? - ???) <4721057E-5A1F-3083-911B-200ED1CE7678> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
0x9053f000 - 0x90fd4ff6  com.apple.AppKit (6.7.5 - 1138.51) <B9D3DCA0-9765-354E-9730-75A45A97DDFD> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x90fef000 - 0x90ffdfff  com.apple.opengl (1.8.1 - 1.8.1) <766AFB12-A2CB-3A55-B662-FC9FFCAE0008> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
0x90ffe000 - 0x9110dff7  com.apple.DesktopServices (1.6.5 - 1.6.5) <CEC069D7-37A3-3D25-A3BB-39DE99FDA46E> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
0x9110e000 - 0x91114ffb  com.apple.print.framework.Print (7.4 - 247.3) <CB075EEE-FA1F-345C-A1B5-1AB266FC73A1> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
0x9111d000 - 0x9111dfff  libOpenScriptingUtil.dylib (??? - ???) <E4C22B65-9493-31D5-9D46-19BD70975587> /usr/lib/libOpenScriptingUtil.dylib
0x9111e000 - 0x91121ffd  libCoreVMClient.dylib (??? - ???) <B8F8916D-F12A-3D95-ABF3-999D57B7D581> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
0x91890000 - 0x91960ffb  com.apple.ImageIO.framework (3.1.2 - 3.1.2) <2092785C-795A-3CDF-A1B4-6C80BA3726DD> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
0x91b44000 - 0x91b45fff  liblangid.dylib (??? - ???) <C8C204E9-1785-3785-BBD7-22D59493B98B> /usr/lib/liblangid.dylib
0x91d9e000 - 0x91e0dfff  com.apple.Heimdal (2.2 - 2.0) <2E1B8779-36D4-3C62-A67E-0034D77D7707> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
0x91e32000 - 0x91f2aff7  libFontParser.dylib (??? - ???) <71B33EB1-27F8-3C68-B940-FC61A3CFE275> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
0x91f9a000 - 0x91f9bfff  com.apple.TrustEvaluationAgent (2.0 - 1) <4BB39578-2F5E-3A50-AD59-9C0AB99472EB> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
0x91f9c000 - 0x9205cffb  com.apple.ColorSync (4.7.4 - 4.7.4) <0A68AF35-15DF-3A0A-9B17-70CE2A106A6C> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
0x9205d000 - 0x92077fff  com.apple.Kerberos (1.0 - 1) <D7920A1C-FEC4-3460-8DD0-D02491578CBB> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
0x92169000 - 0x92170ff7  libsystem_notify.dylib (80.1.0 - compatibility 1.0.0) <47DB9E1B-A7D1-3818-A747-382B2C5D9E1B> /usr/lib/system/libsystem_notify.dylib
0x92197000 - 0x9221efff  com.apple.print.framework.PrintCore (7.1 - 366.3) <EEC03CAB-7F79-3931-87FE-4DF0B767BF47> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
0x924fe000 - 0x924fefff  com.apple.Accelerate.vecLib (3.7 - vecLib 3.7) <22997C20-BEB7-301D-86C5-5BFB3B06D212> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
0x924ff000 - 0x92548ff7  libGLU.dylib (??? - ???) <9AF7AD51-16E3-3674-B60E-30EE499D7B46> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
0x92571000 - 0x928b7ff3  com.apple.HIToolbox (1.9 - ???) <E5EA9EEF-3CCA-36A0-8688-DA2E64E2256C> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x928b8000 - 0x928cdfff  com.apple.speech.synthesis.framework (4.0.74 - 4.0.74) <92AADDB0-BADF-3B00-8941-B8390EDC931B> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
0x928ce000 - 0x928cefff  com.apple.Carbon (153 - 153) <6FF98F0F-2CDE-3888-A304-4ED447D24CE3> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
0x9291c000 - 0x9291cffe  libkeymgr.dylib (23.0.0 - compatibility 1.0.0) <7F0E8EE2-9E8F-366F-9988-E2F119DB9A82> /usr/lib/system/libkeymgr.dylib
0x939ab000 - 0x939d6fff  com.apple.GSS (2.2 - 2.0) <2C468B23-FA87-30B5-B9A6-8C5D1373AA30> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
0x93ab4000 - 0x93af1ff7  libcups.2.dylib (2.9.0 - compatibility 2.0.0) <007A1877-E981-3007-A8FA-9B179F4ED6D1> /usr/lib/libcups.2.dylib
0x93d76000 - 0x93ddbff7  libvDSP.dylib (325.4.0 - compatibility 1.0.0) <4B4B32D2-4F66-3B0D-BD61-FA8429FF8507> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
0x93ddc000 - 0x93de6ff2  com.apple.audio.SoundManager (3.9.4.1 - 3.9.4.1) <2A089CE8-9760-3F0F-B77D-29A78940EA17> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound
0x93e10000 - 0x94112fff  com.apple.CoreServices.CarbonCore (960.25 - 960.25) <C613B0DA-B401-3DC7-B626-6E20D4DDC8A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x94126000 - 0x94154ff7  com.apple.DictionaryServices (1.2.1 - 158.3) <8D03D180-D834-39F3-A106-78E0B22A7893> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
0x9419d000 - 0x941ffff3  libstdc++.6.dylib (52.0.0 - compatibility 7.0.0) <266CE9B3-526A-3C41-BA58-7AE66A3B15FD> /usr/lib/libstdc++.6.dylib
0x94234000 - 0x94234fff  com.apple.audio.units.AudioUnit (1.7.3 - 1.7.3) <2E71E880-25D1-3210-8D26-21EC47ED810C> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
0x94235000 - 0x942f2ff3  ColorSyncDeprecated.dylib (4.6.0 - compatibility 1.0.0) <726898F5-E718-3F27-B415-D6FDCDE09174> /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ColorSync.framework/Versions/A/Resources/ColorSyncDeprecated.dylib
0x942f3000 - 0x945fdff3  com.apple.Foundation (6.7.2 - 833.25) <4C52ED74-A1FD-3087-A2E1-035AB3CF9610> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x94746000 - 0x947eafff  com.apple.QD (3.40 - ???) <3881BEC6-0908-3073-BA44-346356E1CDF9> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
0x947eb000 - 0x94887fff  com.apple.ink.framework (10.7.5 - 113) <05CAFB64-D3B8-3973-87EA-CB8BBE580F6B> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
0x94888000 - 0x948e3ff3  com.apple.Symbolication (1.3 - 91) <B9D69476-B09A-38BB-AB8F-644C0032DA97> /System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication
0x948e4000 - 0x9520f72b  com.apple.CoreGraphics (1.600.0 - ???) <DD7CDD67-FC4F-36FE-962F-2EA7EF3FC780> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
0x95210000 - 0x9521bffc  com.apple.NetAuth (1.0 - 3.0) <C07853C0-AF32-3633-9CEF-2480860C12C5> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
0x95253000 - 0x9525bff3  liblaunch.dylib (392.39.0 - compatibility 1.0.0) <9E6135FF-C2B1-3BC9-A160-B32D71BFA77C> /usr/lib/system/liblaunch.dylib
0x9525c000 - 0x9536dff7  libJP2.dylib (??? - ???) <2B5EB147-F845-30DF-87C4-D2D3C3D0680A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
0x9536e000 - 0x9538cff7  libsystem_kernel.dylib (1699.32.7 - compatibility 1.0.0) <79179F83-457A-3539-A76B-E960D2108109> /usr/lib/system/libsystem_kernel.dylib
0x9538d000 - 0x953dfff7  libFontRegistry.dylib (??? - ???) <C2B84661-A62D-3FFF-8D8C-BC697E9BDF4C> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
0x954a9000 - 0x9551dfff  com.apple.CoreSymbolication (2.2 - 73.2) <FA9305CA-FB9B-3646-8C41-FF8DF15AB2C1> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
0x95539000 - 0x95549ff7  libCRFSuite.dylib (??? - ???) <CE616EF3-756A-355A-95AD-3472A876BEB9> /usr/lib/libCRFSuite.dylib
0x955a3000 - 0x955bfff1  libPng.dylib (??? - ???) <F084226B-14F0-36C0-B5EC-22C78406D2B6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
0x95652000 - 0x95656ffa  libcache.dylib (47.0.0 - compatibility 1.0.0) <98A82BC5-0DD9-3212-9CAE-35A77278EEB6> /usr/lib/system/libcache.dylib
0x95657000 - 0x95658ff4  libremovefile.dylib (21.1.0 - compatibility 1.0.0) <6DE3FDC7-0BE0-3791-B6F5-C15422A8AFB8> /usr/lib/system/libremovefile.dylib
0x95659000 - 0x9567bffe  com.apple.framework.familycontrols (3.0 - 300) <6735D7ED-7053-3AB8-B144-E7F70A124CCD> /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls
0x9567c000 - 0x956bafff  libRIP.A.dylib (600.0.0 - compatibility 64.0.0) <AF1174F9-4402-31EB-9C84-AB644E5865DF> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
0x956ca000 - 0x95820fff  com.apple.audio.toolbox.AudioToolbox (1.7.3 - 1.7.3) <F09C7075-2C4E-3A4F-A372-95D700125513> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
0x9593b000 - 0x9593fff7  com.apple.OpenDirectory (10.7 - 146) <CFBA4CCF-65D4-3879-BC6A-8888C13E3345> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
0x95974000 - 0x95e50ff6  libBLAS.dylib (??? - ???) <134ABFC6-F29E-3DC5-8E57-E13CB6EF7B41> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
0x95ea7000 - 0x95f31ffb  com.apple.SearchKit (1.4.0 - 1.4.0) <CF074082-64AB-3A1F-831E-582DF1667827> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x95f32000 - 0x95f3bfff  libc++abi.dylib (14.0.0 - compatibility 1.0.0) <FEB5330E-AD5D-37A0-8AB2-0820F311A2C8> /usr/lib/libc++abi.dylib
0x95f3c000 - 0x95f3cff2  com.apple.CoreServices (53 - 53) <7CB7AA95-D5A7-366A-BB8A-035AA9E582F8> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x95f3d000 - 0x95f41fff  com.apple.CommonPanels (1.2.5 - 94) <3A988595-DE53-34ED-9367-C9A737E2AF38> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
0x95f42000 - 0x963b7ff7  FaceCoreLight (1.4.7 - compatibility 1.0.0) <3E2BF587-5168-3FC5-9D8D-183A9C7C1DED> /System/Library/PrivateFrameworks/FaceCoreLight.framework/Versions/A/FaceCoreLight
0x963b8000 - 0x965b0ff7  com.apple.CoreData (104.1 - 358.14) <C1730963-F75D-3338-B65F-D50235538B28> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
0x965b1000 - 0x965b2fff  libsystem_blocks.dylib (53.0.0 - compatibility 1.0.0) <B04592B1-0924-3422-82FF-976B339DF567> /usr/lib/system/libsystem_blocks.dylib
0x965b3000 - 0x965c8ff7  com.apple.ImageCapture (7.1.0 - 7.1.0) <E5FCA336-7E47-343E-A82D-CCCA5BCD5929> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
0x965c9000 - 0x966e7fec  com.apple.vImage (5.1 - 5.1) <7757F253-B281-3612-89D4-F2B04061CBE1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
0x966e8000 - 0x9672fff5  com.apple.opencl (2.0.19 - 2.0.19) <7689E7B9-EE5A-3F74-8699-4CDED9162260> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
0x96730000 - 0x9673efff  libz.1.dylib (1.2.5 - compatibility 1.0.0) <E73A4025-835C-3F73-9853-B08606E892DB> /usr/lib/libz.1.dylib
0x96743000 - 0x96746ff7  libmathCommon.A.dylib (2026.0.0 - compatibility 1.0.0) <69357047-7BE0-3360-A36D-000F55E39336> /usr/lib/system/libmathCommon.A.dylib
0x96a65000 - 0x96aadff7  com.apple.SystemConfiguration (1.11.3 - 1.11) <C8DE66D7-0880-3F5F-A4BA-215B52DEFC74> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x96aae000 - 0x96ab4fff  libGFXShared.dylib (??? - ???) <9C9834EB-B794-38C8-9B90-31D8CB234F86> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
0x96ab5000 - 0x96b0efff  com.apple.HIServices (1.21 - ???) <91EC636D-AC27-3332-BA1C-FD7301917429> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
0x96b0f000 - 0x96b1dff7  libxar-nossl.dylib (??? - ???) <5BF4DA8E-C319-354A-967E-A0C725DC8BA3> /usr/lib/libxar-nossl.dylib
0x96b1e000 - 0x96b21ff9  libCGXType.A.dylib (600.0.0 - compatibility 64.0.0) <16DCE20A-9790-369A-94C1-B7954B418C77> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
0x96b22000 - 0x96b3ffff  libresolv.9.dylib (46.1.0 - compatibility 1.0.0) <2870320A-28DA-3B44-9D82-D56E0036F6BB> /usr/lib/libresolv.9.dylib
0x96b87000 - 0x96c52fff  libsystem_c.dylib (763.13.0 - compatibility 1.0.0) <52421B00-79C8-3727-94DE-62F6820B9C31> /usr/lib/system/libsystem_c.dylib
0x96c53000 - 0x96c96ffd  libcommonCrypto.dylib (55010.0.0 - compatibility 1.0.0) <4BA1F5F1-F0A2-3FEB-BB62-F514DCBB3725> /usr/lib/system/libcommonCrypto.dylib
0x96e2d000 - 0x96f8fffb  com.apple.QuartzCore (1.7 - 270.5) <6D0EC7FC-11E5-35FB-A08A-3B438E89FBDB> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
0x96f90000 - 0x96f93ffb  com.apple.help (1.3.2 - 42) <DDCEBA10-5CDE-3ED2-A52F-5CD5A0632CA2> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
0x972db000 - 0x97303ff7  libxslt.1.dylib (3.24.0 - compatibility 3.0.0) <AB530FB2-8BD1-3328-95E8-CF449F0429CA> /usr/lib/libxslt.1.dylib
0x9734d000 - 0x97384fef  com.apple.DebugSymbols (2.1 - 87) <EB951B78-31A5-379F-AFA1-B5C9A7BB3D23> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
0x97485000 - 0x97489ff3  libsystem_network.dylib (??? - ???) <62EBADDA-FC72-3275-AAB3-5EDD949FEFAF> /usr/lib/system/libsystem_network.dylib
0x979e4000 - 0x97a09ff9  libJPEG.dylib (??? - ???) <743578F6-8C0C-39CC-9F15-3A01E1616EAE> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
0x97b05000 - 0x97b05fff  com.apple.Accelerate (1.7 - Accelerate 1.7) <4192CE7A-BCE0-3D3C-AAF7-6F1B3C607386> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
0x97b06000 - 0x97bc9fff  com.apple.CoreServices.OSServices (478.49 - 478.49) <5AF33605-C893-3F60-89CF-1BC9C0BC35AF> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x97bf0000 - 0x97c54fff  com.apple.framework.IOKit (2.0 - ???) <94827954-5906-36C4-819B-24CDAFD85C72> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x97ca8000 - 0x97d06ff7  com.apple.coreui (1.2.2 - 165.11) <340B0B83-1407-3AB4-BCAB-505C29303EE2> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
0x97d07000 - 0x97d07fff  libdnsinfo.dylib (395.11.0 - compatibility 1.0.0) <7EFAD88C-AFBC-3D48-BE14-60B8EACC68D7> /usr/lib/system/libdnsinfo.dylib
0x97d08000 - 0x97e18fe7  libsqlite3.dylib (9.6.0 - compatibility 9.0.0) <34E1E3CC-7B6A-3B37-8D07-1258D11E16CB> /usr/lib/libsqlite3.dylib
0x97e19000 - 0x97e1bff9  com.apple.securityhi (4.0 - 1) <BD367302-73C3-32F4-8080-E389AE89E434> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
0x97e1c000 - 0x97e24ff5  libcopyfile.dylib (85.1.0 - compatibility 1.0.0) <A1BFC320-616A-30AA-A41E-29D7904FC4C7> /usr/lib/system/libcopyfile.dylib
0x97e9e000 - 0x97f34ff7  com.apple.LaunchServices (480.40 - 480.40) <D5C0DEF9-398C-3742-8C4E-875C3365EC8B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x97f90000 - 0x9800bffb  com.apple.ApplicationServices.ATS (317.12.0 - ???) <4D124B65-3D43-32E9-B296-3671347BB888> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
0x9800c000 - 0x98015ff3  com.apple.CommonAuth (2.2 - 2.0) <C3FD6EC2-8EB3-38FB-BBB7-05009CA49024> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
0x98016000 - 0x9801dff9  libsystem_dnssd.dylib (??? - ???) <EBEAF723-84F8-3544-8FB2-31B7771B50D0> /usr/lib/system/libsystem_dnssd.dylib
0x9833b000 - 0x98346fff  libkxld.dylib (??? - ???) <14E79D7A-B6C2-35C5-B56D-D343BEC2A106> /usr/lib/system/libkxld.dylib
0x98347000 - 0x98384fef  libGLImage.dylib (??? - ???) <FC13D46F-69C4-3BA1-A5E8-52C2EC8B7D58> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
0x98385000 - 0x983a1ff5  com.apple.GenerationalStorage (1.0 - 126.1) <E622F823-7D98-3D13-9C3D-7EA482567394> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
0x983a2000 - 0x983e2ff7  com.apple.NavigationServices (3.7 - 193) <16A8BCC8-7343-3A90-88B3-AAA334DF615F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/NavigationServices.framework/Versions/A/NavigationServices
0x986f4000 - 0x986f7ff7  libcompiler_rt.dylib (6.0.0 - compatibility 1.0.0) <7F6C14CC-0169-3F1B-B89C-372F67F1F3B5> /usr/lib/system/libcompiler_rt.dylib
0x9874c000 - 0x9882fff7  libcrypto.0.9.8.dylib (44.0.0 - compatibility 0.9.8) <BD913D3B-388D-33AE-AA5E-4810C743C28F> /usr/lib/libcrypto.0.9.8.dylib
0x990cd000 - 0x990ddfff  com.apple.LangAnalysis (1.7.0 - 1.7.0) <6D6F0C9D-2EEA-3578-AF3D-E2A09BCECAF3> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
0x990de000 - 0x990fbff3  com.apple.openscripting (1.3.3 - ???) <0579A4CB-FD6F-3D7F-A17B-AC0F2CF11FC7> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
0x990fe000 - 0x9912dff7  libsystem_info.dylib (??? - ???) <37640811-445B-3BB7-9934-A7C99848250D> /usr/lib/system/libsystem_info.dylib
0x9912e000 - 0x993fdffb  com.apple.security (7.0 - 55148.6) <8DF67BDD-C98F-3B7E-AC63-D468407FA82D> /System/Library/Frameworks/Security.framework/Versions/A/Security
0x99605000 - 0x99667ffb  com.apple.datadetectorscore (3.0 - 179.4) <8340BEC3-FB03-3AD8-B9E8-1FFA9DC7C220> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
0x99668000 - 0x9966fffd  com.apple.NetFS (4.0 - 4.0) <D0D59145-D211-3E7C-9062-35A2833FA99B> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
0x99c8c000 - 0x99d7cff1  libiconv.2.dylib (7.0.0 - compatibility 7.0.0) <9E5F86A3-8405-3774-9E0C-3A074273C96D> /usr/lib/libiconv.2.dylib
0x99d7d000 - 0x99d88ff3  libCSync.A.dylib (600.0.0 - compatibility 64.0.0) <D6E17FD4-ECA0-3EEE-BFC5-F6A42A21AB5D> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
0x99d89000 - 0x99d8affd  libCVMSPluginSupport.dylib (??? - ???) <4B0476F9-950D-3EB7-BD83-F65AF0B05F0E> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
0x99d8b000 - 0x99f62fe7  com.apple.CoreFoundation (6.7.2 - 635.21) <4D1D2BAF-1332-32DF-A81B-7E79D4F0A6CB> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x99f63000 - 0x99f68ff7  libmacho.dylib (800.0.0 - compatibility 1.0.0) <56A34E97-518E-307E-8218-C5D43A33EE34> /usr/lib/system/libmacho.dylib
0x99f7a000 - 0x99fa8fe7  libSystem.B.dylib (159.1.0 - compatibility 1.0.0) <112D9C23-18FE-3995-A8DB-CDBE81CC7BAB> /usr/lib/libSystem.B.dylib
0x99fa9000 - 0x9a15dff3  libicucore.A.dylib (46.1.0 - compatibility 1.0.0) <4AFF6FC3-6283-3934-8EFC-CA227CA11164> /usr/lib/libicucore.A.dylib
0x9a15e000 - 0x9a1ebff7  com.apple.CoreText (220.22.0 - ???) <EA7210A7-DECC-3F76-8A66-D4E41859B3C6> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
0x9a1ec000 - 0x9a1edff0  libunc.dylib (24.0.0 - compatibility 1.0.0) <BCD277D0-4271-3E96-A4A2-85669DBEE2E2> /usr/lib/system/libunc.dylib
0x9a587000 - 0x9a58ffff  com.apple.DiskArbitration (2.4.1 - 2.4.1) <28D5D8B5-14E8-3DA1-9085-B9BC96835ACF> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x9a5bb000 - 0x9a5bffff  libGIF.dylib (??? - ???) <2ADFED97-2228-343D-9A53-207CBFDE7984> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
0x9a60d000 - 0x9a60eff7  libsystem_sandbox.dylib (??? - ???) <5CFCCFB7-CF29-3E04-801D-8532AE004768> /usr/lib/system/libsystem_sandbox.dylib
0x9a60f000 - 0x9a617ff3  libunwind.dylib (30.0.0 - compatibility 1.0.0) <E8DA8CEC-12D6-3C8D-B2E2-5D567C8F3CB5> /usr/lib/system/libunwind.dylib
0x9a696000 - 0x9a697ff7  libquarantine.dylib (36.7.0 - compatibility 1.0.0) <46980EC2-149D-3CF7-B29A-401FB89C275D> /usr/lib/system/libquarantine.dylib
0x9a69a000 - 0x9a6a7fff  libGL.dylib (??? - ???) <A72F14F7-1836-34AB-9F08-67836CB966E4> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
0x9a6a8000 - 0x9a6f9ff9  com.apple.ScalableUserInterface (1.0 - 1) <C3FA7E40-0213-3ABC-A006-2CB00B6A7EAB> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/ScalableUserInterface.framework/Versions/A/ScalableUserInterface
0x9a6fa000 - 0x9a730ff7  com.apple.AE (527.7 - 527.7) <7BAFBF18-3997-3656-9823-FD3B455056A4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x9a7a2000 - 0x9a7b5ff8  com.apple.MultitouchSupport.framework (231.4 - 231.4) <86C11177-EF7C-33DC-AFE3-703652463562> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
0x9a859000 - 0x9a87bff8  com.apple.PerformanceAnalysis (1.11 - 11) <453463FF-7C42-3526-8C96-A9971EE07154> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
0x9b2ae000 - 0x9b2aefff  com.apple.vecLib (3.7 - vecLib 3.7) <8CCF99BF-A4B7-3C01-9219-B83D2AE5F82A> /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
0x9b2af000 - 0x9b523ff3  com.apple.CoreImage (7.99.1 - 1.0.1) <C4B2DD2A-8E45-31CD-9B25-2AC1CA252B14> /System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage
0x9b524000 - 0x9b926ff6  libLAPACK.dylib (??? - ???) <00BE0221-8564-3F87-9F6B-8A910CF2F141> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
0x9b9fd000 - 0x9ba5affb  com.apple.htmlrendering (76 - 1.1.4) <743C2943-40BC-36FB-A45C-3421A394F081> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HTMLRendering.framework/Versions/A/HTMLRendering
0x9bad5000 - 0x9baf5ff7  com.apple.RemoteViewServices (1.5 - 44.2) <11C87337-FF29-3976-A230-6387D96563C5> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
0x9bb04000 - 0x9bb07ffc  libpam.2.dylib (3.0.0 - compatibility 3.0.0) <6FFDBD60-5EC6-3EFA-996B-EE030443C16C> /usr/lib/libpam.2.dylib
0x9bb08000 - 0x9bbf0fff  libxml2.2.dylib (10.3.0 - compatibility 10.0.0) <1841196F-68B5-309F-8ED1-6714B1DFEC83> /usr/lib/libxml2.2.dylib
0x9bbf1000 - 0x9bc67fff  com.apple.Metadata (10.7.0 - 627.37) <F54AED70-95C5-3561-8C87-D9E5539E98A4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x9bcbb000 - 0x9bd1cffb  com.apple.audio.CoreAudio (4.0.3 - 4.0.3) <7A14BE52-6789-3CE3-9AE9-B733F4903EB1> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
0x9bd2e000 - 0x9bd51fff  com.apple.CoreVideo (1.7 - 70.3) <4234C11C-E8E9-309A-9465-27D6D7458895> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
0x9c010000 - 0x9c010ff0  com.apple.ApplicationServices (41 - 41) <BED33E1D-C95C-3654-9A3A-0CB3607F9F10> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
0x9c0f3000 - 0x9c15bfff  libc++.1.dylib (28.4.0 - compatibility 1.0.0) <B24814AB-CA77-3B9D-8FAB-58C9B4FD3A16> /usr/lib/libc++.1.dylib
0x9c15c000 - 0x9c232aab  libobjc.A.dylib (228.0.0 - compatibility 1.0.0) <2E272DCA-38A0-3530-BBF4-47AE678D20D4> /usr/lib/libobjc.A.dylib
0x9c289000 - 0x9c316fe7  libvMisc.dylib (325.4.0 - compatibility 1.0.0) <F2A8BBA3-6431-3CED-8CD3-0953410B6F96> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
0x9c317000 - 0x9c367ffa  libTIFF.dylib (??? - ???) <CAD45E49-FD7C-37FA-A118-AEB526B90E67> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
0x9c368000 - 0x9c376fff  libdispatch.dylib (187.10.0 - compatibility 1.0.0) <1B857064-288D-3919-B81A-38E9F4D19B54> /usr/lib/system/libdispatch.dylib
0x9c377000 - 0x9c382ffe  libbz2.1.0.dylib (1.0.5 - compatibility 1.0.0) <4A7FCD28-9C09-3120-980A-BDF6EDFAAC62> /usr/lib/libbz2.1.0.dylib
0x9c3cc000 - 0x9c3e2ffe  libxpc.dylib (77.19.0 - compatibility 1.0.0) <0585AA94-F4FD-32C1-B586-22E7184B781A> /usr/lib/system/libxpc.dylib
0x9c3e4000 - 0x9c40eff1  com.apple.CoreServicesInternal (113.19 - 113.19) <F7A309D1-DCB4-38DE-8248-E16D0182AA6C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
0x9c411000 - 0x9c415ffd  IOSurface (??? - ???) <EDDBEE65-1EB8-33A7-9972-E361A3508234> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
0x9c416000 - 0x9c418ff7  libdyld.dylib (195.5.0 - compatibility 1.0.0) <637660EA-8D12-3B79-B644-041FEADC9C33> /usr/lib/system/libdyld.dylib
0x9c419000 - 0x9c42afff  libbsm.0.dylib (??? - ???) <54ACF696-87C6-3652-808A-17BE7275C230> /usr/lib/libbsm.0.dylib
0x9cac3000 - 0x9cad7ff7  com.apple.CFOpenDirectory (10.7 - 144) <665CDF77-F0C9-3AFF-8CF8-64257268B7DD> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
0x9caf4000 - 0x9caffffb  com.apple.speech.recognition.framework (4.0.21 - 4.0.21) <A1764D2F-EB84-33DC-9ED5-CDA3B468FF3E> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
0x9cc71000 - 0x9cd08fff  com.apple.securityfoundation (5.0 - 55116) <510A3BA7-7171-3D98-A717-8EECCCE5FC91> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
0x9cd09000 - 0x9cd0afff  libDiagnosticMessagesClient.dylib (??? - ???) <DB3889C2-2FC2-3087-A2A2-4C319455E35C> /usr/lib/libDiagnosticMessagesClient.dylib
0x9cd84000 - 0x9cd8affd  com.apple.CommerceCore (1.0 - 17) <71641C17-1CA7-3AC9-974E-AAC9EB641035> /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Frameworks/CommerceCore.framework/Versions/A/CommerceCore

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 7
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 101258
    thread_create: 1
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=221.9M resident=95.5M(43%) swapped_out_or_unallocated=126.4M(57%)
Writable regions: Total=109.7M written=23.6M(22%) resident=31.3M(28%) swapped_out=0K(0%) unallocated=78.4M(72%)

REGION TYPE                      VIRTUAL
===========                      =======
ATS (font support)                 31.9M
CG image                              4K
CG raster data                       64K
CG shared images                   4528K
CoreGraphics                          8K
CoreServices                       4348K
MALLOC                             64.8M
MALLOC guard page                    64K
Stack                              66.5M
VM_ALLOCATE                         112K
__CI_BITMAP                          80K
__DATA                             11.8M
__DATA/__OBJC                       308K
__IMAGE                             528K
__IMPORT                            356K
__LINKEDIT                         58.2M
__OBJC                             1340K
__OBJC/__DATA                        12K
__PAGEZERO                            4K
__TEXT                            163.7M
__UNICODE                           544K
mapped file                       156.6M
shared memory                       376K
shared pmap                        10.3M
===========                      =======
TOTAL                             576.2M

Model: MacBookPro8,2, BootROM MBP81.0047.B27, 4 processors, Intel Core i7, 2.3 GHz, 8 GB, SMC 1.69f3
Graphics: AMD Radeon HD 6750M, AMD Radeon HD 6750M, PCIe, 1024 MB
Graphics: Intel HD Graphics 3000, Intel HD Graphics 3000, Built-In, 512 MB
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1333 MHz, 0x80CE, 0x4D34373142353237334448302D4348392020
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1333 MHz, 0x80CE, 0x4D34373142353237334448302D4348392020
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xD6), Broadcom BCM43xx 1.0 (5.106.198.19.22)
Bluetooth: Version 4.0.8f17, 2 service, 18 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en1
Serial ATA Device: APPLE SSD TS512C, 500.28 GB
Serial ATA Device: MATSHITADVD-R   UJ-8A8
USB Device: FaceTime HD Camera (Built-in), apple_vendor_id, 0x8509, 0xfa200000 / 3
USB Device: hub_device, 0x0424  (SMSC), 0x2513, 0xfa100000 / 2
USB Device: Microsoft 3-Button Mouse with IntelliEye(TM), 0x045e  (Microsoft Corporation), 0x0040, 0xfa130000 / 6
USB Device: Apple Internal Keyboard / Trackpad, apple_vendor_id, 0x0253, 0xfa120000 / 5
USB Device: BRCM2070 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0xfa110000 / 4
USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x821a, 0xfa113000 / 9
USB Device: hub_device, 0x0424  (SMSC), 0x2513, 0xfd100000 / 2
USB Device: IR Receiver, apple_vendor_id, 0x8242, 0xfd110000 / 3

memory leaks

Here is a small script (script1) which highlight a traistui memory leaks : the script open and close many times a window. Running in a loop, we can observe that the memory grows indefinitely. I observe this result under windows 7 64 bits with traistui 4.2.0 and 4.2.1 and under linux and tratsui 4.2.1 for both qt4 and wx backends.
Under linux, the script starts with around 45 MB RSS memory and ends with 500 MB RSS memory after 10 000 open / close ui window.

I am not sure to point the real problem, but running guppy, I observe that the number of dict containing traits.trait_notifiers.FastUITraitChangeNotifyWrapper and weekref objects increased at the same rate than the number of opened / closed windows.

Using a simple ack script (script2) we can observe that 3 FastUITraitChangeNotifyWrapper are created for each window but only one is deleted (dispose method called).

script 1:

import gc, guppy, traceback

i=0

from traits.api import HasTraits, Str, List, Instance, Button, Float, Int
from traits.etsconfig.api import ETSConfig
ETSConfig.toolkit = 'wx'
from traitsui.api import View, Item, Controller
from traits.trait_notifiers import ui_handler
import time, threading, numpy

delay = 0.2
heap = guppy.hpy()

person_view = View(
                    Item(name='name'),
                    buttons=['OK']
                    )

class Person(HasTraits):
    name = Str('No name')

class PersonController( Controller ):    
    i = Int

    def init_info(self, info):
        global i
        self.info = info
        i += 1
        self.i = i
        threading.Thread(target=self.t).start()


    def t(self):
        global i
        time.sleep(delay)
        ui_handler(self._on_close, self.info)
        if self.i==0:
            heap.setrelheap()
        if self.i % 100 == 0:
            gc.collect()
            print heap.heap()

class Family(HasTraits):
    father = Instance(Person)
    run = Button
    traits_view = View(
                       Item('run'),
                    )
    def _run_fired(self):
        threading.Thread(target=self.t).start()

    def t(self):
        person_controller = PersonController()
        for i in range(10000):
            time.sleep(delay)
            def h():
                self.father.edit_traits(view=person_view, handler=PersonController())
            ui_handler(h)

family = Family(father=Person(name='toto'))
family.configure_traits()

script 2 (put at the beginning of script 1)

import traits.trait_notifiers
old_FastUITraitChangeNotifyWrapper = traits.trait_notifiers.FastUITraitChangeNotifyWrapper
i=0

class Notifier(old_FastUITraitChangeNotifyWrapper):
    def __init__(self, *args, **kw):
        global i
        self.i = i
        i+=1
        print 'create notifier',i
        old_FastUITraitChangeNotifyWrapper.__init__(self, *args, **kw)

    def dispose(self):
        print 'notifier dispose', self.i
        old_FastUITraitChangeNotifyWrapper.dispose(self)

traits.trait_notifiers.FastUITraitChangeNotifyWrapper = Notifier

Embedded text editors raise AttributError (wx, Mac OS X)

This bug is specific to wx, Mac OS X.

Whenever you click on an embedded text field for editing (e.g., the textfield in a rangeeditor with spin control, or the textfield in a tabulareditor), and then press OK without defocusing, an AttributeError is raised, and the value is not updated. The bug can be triggered manually from many traitsui examples (see the spinnereditor one, for example).

The easiest way to reproduce it on mac, is by running these tests with
ETS_TOOLKIT=wx:
https://github.com/enthought/traitsui/blob/range_editor_bug/traitsui/tests/test_range_editor_spinner.py

ListStrEditor's selected_index causes assertion error in Wx

The following program runs fine in Qt4 but in Wx causes an assertion error:

from traits.api import HasTraits, List, Str, Int
from traitsui.api import View, Item, ListStrEditor

class BugDialog(HasTraits):
    stuff = List(Str())
    stuff_selection = Int()

    view = View(
        Item('stuff',
            show_label=False,
            editor=ListStrEditor(
                selected_index='stuff_selection',
                editable=False)),
        title='Bug',
        buttons=['OK'])

if __name__ == '__main__':
    win = BugDialog(
        stuff=['thing1', 'thing2'],
        stuff_selection=1)
    win.configure_traits()

Here's the error:

Exception occurred in traits notification handler.
Please check the log file for details.
Exception occurred in traits notification handler for object: <traitsui.wx.list_str_editor._ListStrEditor object at 0xbeeeae0>, trait: selected_index, old value: 0, new value: 1
Traceback (most recent call last):
 File "/Users/fliep/Library/Enthought/Canopy_32bit/System/lib/python2.7/site-packages/traits/trait_notifiers.py", line 374, in call_2
   self.handler( object, new )
 File "/Users/fliep/Library/Enthought/Canopy_32bit/System/lib/python2.7/site-packages/traitsui/wx/list_str_editor.py", line 360, in _selected_index_changed
   wx.LIST_STATE_SELECTED )
 File "/Users/fliep/Library/Enthought/Canopy_32bit/System/lib/python2.7/site-packages/wx/_controls.py", line 4722, in SetItemState
   return _controls_.ListCtrl_SetItemState(*args, **kwargs)
PyAssertionError: C++ assertion "litem >= 0 && (size_t)litem < GetItemCount()" failed at /BUILD/wxPython-src-2.9.2.4/src/generic/listctrl.cpp(3218) in SetItemState(): invalid list ctrl item index in SetItem

It looks like the list isn't populated by the time the selected_index trait gets set. This seems to be a regression - I tracked it down while debugging a program I haven't touched in a while, that previously didn't exhibit this error. Though a regression from what version I couldn't say, I probably last ran it on EPD 7.3, so maybe traitsui 4.0?

Current version: traits & traitsui 4.3.0-2

Table in a dialog segfaults under wx, EPD 7

The code below segfaults in Ubuntu 10.04 and Mac OSX 10.6 after several iterations of: click button to open table dialog, edit table, close table dialog. Not tested in Windows. The number of iterations before segfault varies depending on OS, which TableEditor options are set, prior state of the terminal session,.... i.e. presumably depending on the state of memory. Under Ubuntu, a faulthandler stack dump shows that the segfault occurs when wx is disposing of a panel.

Corran suspects unresolved deallocation bugs in TableEditor with wx, due to inaccurate manual reference counting of wx's Attr objects, and advises that a leaky workaround can be to double up one or both of the IncRef (increment reference) calls in method _GridTableBase.GetAttr in module traitsbackendwx/enthought/pyface/ui/wx/grid/grid.py.

Another workaround can be to use TabularEditor.

from enthought.traits.api import HasTraits, Button, Str, List
from enthought.traits.ui.api import View, UItem, TableEditor, ObjectColumn

class MyRow(HasTraits):
    name = Str('abc')

class TableView(HasTraits):
    mytable = List

    traits_view = View(
        UItem('mytable',
              editor = TableEditor(
                  columns = [ObjectColumn(name = 'name',
                                           label = 'Property',
                                           width = 300 ),
                             ],
                  #configurable = False,
                  #deletable = True,
                  row_factory = MyRow,
                  #sortable = False,
                  auto_size = False,
                  #orientation = 'vertical',
                  #reorderable = True,
                  #show_toolbar = True,
                  )
              ),
        height = 300
    )

class AppView(HasTraits):
    button = Button
    mytable = List([MyRow(), MyRow()])
    traits_view = View('button')

    def _button_fired(self):
        test_view = TableView(mytable=self.mytable)
        test_view.edit_traits(kind='livemodal')


if __name__ == '__main__':
    import faulthandler
    faulthandler.enable()
    top_view = AppView()
    top_view.configure_traits()

QT4 TableEditor bug

I am using a tableeditor under qt4, using a lambda assigned to filter_name to filter my list.

This works fine, up until the point where I start to programmatically alter the underlying list that the editor is bound to.

The following lines in traitsui\qt4\table_editor.py seem broken:

290 filtering = len(self.factory.filters) > 0
291 if filtering:
292 self._update_filtering()

This leads to trouble down the line, in traitsui\qt4\table_model.py

297 if self._editor._filtered_cache is None:
298 return True
299 else:
300 return self._editor._filtered_cache[source_row]

Somehow my lambda does not register with self.factory.filters; the list is empty, but not none, and hilarity does not ensue, as filtered_cache fails to get updated, has an incompatible length, but is used nonetheless.

I suppose the real fix is to register the filter given by filter_ name correctly somewhere under the hood, but I lack the knowledge of the innards of this system to comment further. For now ive monkey-patched to problem, but my upcoming release to collaborators would very much appreciate a fix of this bug in a future release!

Thanks for all the great work

traitsui-4.1.0 fails tests

  • Testing of dev-python/traitsui-4.1.0 with CPython 2.7...
    PYTHONPATH=build-2.7/lib nosetests --verbosity=1
    Xlib: extension "RANDR" missing on display ":1".
    ....EE.SFF.SSS..

    ERROR: Failure: ValueError (cannot set toolkit to null because it has already been set to wx)

    Traceback (most recent call last):
    File "/usr/lib64/python2.7/site-packages/nose/loader.py", line 390, in loadTestsFromName
    addr.filename, addr.module)
    File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 39, in importFromPath
    return self.importFromDir(dir_path, fqname)
    File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 86, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
    File "/mnt/gen2/TmpDir/portage/dev-python/traitsui-4.1.0/work/traitsui-4.1.0/traitsui/null/tests/test_font_trait.py", line 7, in
    ETSConfig.toolkit = 'null'
    File "/usr/lib64/python2.7/site-packages/traits/etsconfig/etsconfig.py", line 210, in _set_toolkit
    "already been set to %s" % (toolkit, self._toolkit)
    ValueError: cannot set toolkit to null because it has already been set to wx

ERROR: Failure: RuntimeError (Importing from qt4 backend after selecting wx backend!)

Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/nose/loader.py", line 390, in loadTestsFromName
addr.filename, addr.module)
File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 39, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 86, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/mnt/gen2/TmpDir/portage/dev-python/traitsui-4.1.0/work/traitsui-4.1.0/traitsui/qt4/init.py", line 24, in
import toolkit
File "/mnt/gen2/TmpDir/portage/dev-python/traitsui-4.1.0/work/traitsui-4.1.0/traitsui/qt4/toolkit.py", line 22, in
assert_toolkit_import('qt4')
File "/mnt/gen2/TmpDir/portage/dev-python/traitsui-4.1.0/work/traitsui-4.1.0/traitsui/toolkit.py", line 60, in assert_toolkit_import
"backend!" % (name, ETSConfig.toolkit)
RuntimeError: Importing from qt4 backend after selecting wx backend!

FAIL: traitsui.tests.test_range_editor_spinner.test_wx_spin_control_editing_does_not_update

Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/mnt/gen2/TmpDir/portage/dev-python/traitsui-4.1.0/work/traitsui-4.1.0/traitsui/tests/test_range_editor_spinner.py", line 109, in test_wx_spin_control_editing_does_not_update
assert num.number == 4
AssertionError

FAIL: traitsui.tests.test_range_editor_text.test_wx_spin_control_editing

Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/mnt/gen2/TmpDir/portage/dev-python/traitsui-4.1.0/work/traitsui-4.1.0/traitsui/tests/test_range_editor_text.py", line 54, in test_wx_spin_control_editing
assert num.number >= 3 and num.number <=8
AssertionError


Ran 16 tests in 2.975s

FAILED (SKIP=4, errors=2, failures=2)

Appears to be a different error for each item.

kind='modal' or 'livemodal' broken with qt backend

When windows are set to 'modal' or 'livemodal', the Qt application continues blocking after the window is closed. Simple example:

from traits.api import HasTraits, Str

class Person(HasTraits):
    name = Str

bill = Person()
bill.configure_traits(kind='modal')

This works fine with ETS_TOOLKIT set to Wx.

TreeEditor will not expand TreeNode if "auto_open" is not set to True

a TreeNode will not be expanded if TreeNode's auto_open attr is not set to True.
this renders the TreeEditor pretty unusable, since it becomes impossible to navigate, when working with a large number of nodes.

The offending code is likely part of the traitsui.qt4.tree_editor.SimpleEditor's "_insert_node" method:

    # Automatically expand the new node (if requested):
    if has_children:
        if node.can_auto_open( object ):
            cnid.setExpanded(True)
        else:
            # Qt only draws the control that expands the tree if there is a
            # child.  As the tree is being populated lazily we create a
            # dummy that will be removed when the node is expanded for the
            # first time.
            cnid._dummy = QtGui.QTreeWidgetItem(cnid)

Likely the ._dummy fix is the offending statement here.

Possible this bug is platform dependent, this was tested on OSX

wx vs qt difference in Password style='text'

A Password trait is displayed by default, by a TextEditor with password=True. With Item style='simple', it displays only asterisks.

With style 'text', qt displays typed text, and wx displays asterisks.

(Updated 9/15/2011)

Bug in multiple display handling with wx backend

There is a bug in function:

enthought.traits.ui.wx.helper.find_closest_display

Given xy coordinates, the function is supposed to return a display object, whose center the coordinates are closest to, but in fact, it does not do this correctly. This results in erroneous behavior, where various pop-up dialogs do not show up on the correct monitor on systems with more than two displays.

The problem is simply that the function incorrectly computes the center of a display, calculating (x+width)/2, instead if x+(width/2). Here's a patch that should be sufficient to fix the issue:

186,187c186,187
<                 dis_mid_x = (dis_x+dis_w)/2
<                 dis_mid_y = (dis_y+dis_h)/2

---
>                 dis_mid_x = dis_x+(dis_w/2)
>                 dis_mid_y = dis_y+(dis_h/2)

Issues with license files and hiddden dirs.

Trying to package traitsui for Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=829580). rpmlint shows:

python-traitsui.noarch: W: file-not-utf8 /usr/share/doc/python-traitsui-4.2.0/docs/Pydoh_T3UMdoc_HOWTO.txt
python-traitsui.noarch: W: file-not-utf8 /usr/share/doc/python-traitsui-4.2.0/image_LICENSE_Eclipse.txt
python-traitsui.noarch: W: hidden-file-or-dir /usr/share/doc/python-traitsui-4.2.0/docs/source/.templates
python-traitsui.noarch: W: hidden-file-or-dir /usr/share/doc/python-traitsui-4.2.0/docs/source/.static

I tried to convert the txt files to utf-8 with iconv, but that failed, apparently because they are unknown:

image_LICENSE_Eclipse.txt: Non-ISO extended-ASCII text, with very long lines
docs/Pydoh_T3UMdoc_HOWTO.txt: Non-ISO extended-ASCII text, with LF, NEL line terminators

Can these files but put into a standard encoding, preferrably UTF-8?

Also, not sure if the hidden dirs are important or not.

AttributeError: 'QTextBlockUserData' object has no attribute 'syntax_stack' is raised when running "demo.py"

issue with: pyface/ui/qt4/code_editor/pygments_highlighter.py

an AttributeError: 'QTextBlockUserData' object has no attribute 'syntax_stack' is raised when PyQt4 is used as the Qt4 backend. The issue does not appear with PySide.
Checking whether the "syntax_stack" attr exists solves the issue.

def highlightBlock(self, qstring):
    """ Highlight a block of text.
    """
    qstring = unicode(qstring)
    prev_data = self.previous_block_data()

    if prev_data is not None:
        # fix
        if hasattr(prev_data, "syntax_stack"):
            self._lexer._epd_state_stack = prev_data.syntax_stack
    elif hasattr(self._lexer, '_epd_state_stack'):
        del self._lexer._epd_state_stack

Tested on OSX, with the most recent macports py26-pyqt4

key bindings: arrow keys cannot be assigned

When trying to assign a keybinding to any of the arrow keys ( Up, Down, Left, Right ) the standard Cocoa bindings take precedence over the newly assigned functionality
( PyQt 4.10, traits(ui) 4.4, OSX )

Cosmetic: tree editor wraps text too tightly when scroll bar exists

With QT in Windows, when the tree grows long enough to require a scroll bar, and the text is long enough to wrap, the wrapping column seems to be jammed right up against the scroll bar.

With QT in OSX, the problem seems less severe, perhaps because the scrollbar is sleeker.

Not tested with WX.

ListEditor_demo.py fails with PySide

The Standard_Editors/ListEditor_demo.py example runs with these backends

ETS_TOOLKIT=qt4 QT_API=pyqt python ListEditor_demo.py
ETS_TOOLKIT=wx python ListEditor_demo.py 

With pyside

ETS_TOOLKIT=qt4 QT_API=pyside python ListEditor_demo.py

clicking on the arrow buttons gives a traceback:

Traceback (most recent call last):
  File "/Users/pberkes/egit/meta-geophysics/meta-ETS/traitsui/traitsui/qt4/list_editor.py", line 280, in popup_menu
    proxy    = sender.proxy
AttributeError: 'NoneType' object has no attribute 'proxy'

cannot drag items in wx.TabularEditor (traitsui 4.0.1)

Dragging on a TabularEditor on 4.0.1 does not work.

wx.EVT_LIST_BEGIN_DRAG appears to be hidden by wx.EVT_MOTION, which does not skip the event.

Looks like one should just modify the traitsui.wx.TabularEditor._motion method to skip the event.

Windows/wx: Tabular editor redraw failure after row deletion

  1. Edit Tabular_editor_demo.py, line 96 to:
    operations = [ 'move', 'delete' ],
  2. Run on wx in Windows 7.
  3. Select the first row and press DEL key.
  4. Note that the table rows have not changed.
  5. As you move the cursor down, row by row, the rows at and above the cursor are correct, but those below are not (unless you redraw the window).

Not present in Linux (punchagan), or OSX, now with QT in Windows.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.