Edit File: Switchboard.pyc
� ��^c�����������@���sE���d��Z��d�d�l�Z�d�d�l�m�Z�d�d�l�Z�d�d�d�������YZ�d�S(���s���Switchboard class. This class is used to coordinate updates among all Viewers. Every Viewer must conform to the following interface: - it must include a method called update_yourself() which takes three arguments; the red, green, and blue values of the selected color. - When a Viewer selects a color and wishes to update all other Views, it should call update_views() on the Switchboard object. Note that the Viewer typically does *not* update itself before calling update_views(), since this would cause it to get updated twice. Optionally, Viewers can also implement: - save_options() which takes an optiondb (a dictionary). Store into this dictionary any values the Viewer wants to save in the persistent ~/.pynche file. This dictionary is saved using marshal. The namespace for the keys is ad-hoc; make sure you don't clobber some other Viewer's keys! - withdraw() which takes no arguments. This is called when Pynche is unmapped. All Viewers should implement this. - colordb_changed() which takes a single argument, an instance of ColorDB. This is called whenever the color name database is changed and gives a chance for the Viewers to do something on those events. See ListViewer for details. External Viewers are found dynamically. Viewer modules should have names such as FooViewer.py. If such a named module has a module global variable called ADDTOVIEW and this variable is true, the Viewer will be added dynamically to the `View' menu. ADDTOVIEW contains a string which is used as the menu item to display the Viewer (one kludge: if the string contains a `%', this is used to indicate that the next character will get an underline in the menu, otherwise the first character is underlined). FooViewer.py should contain a class called FooViewer, and its constructor should take two arguments, an instance of Switchboard, and optionally a Tk master window. i����N(���t���DictTypet���Switchboardc�����������B���sw���e��Z�d�����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z �d����Z �d ����Z�d �d���Z�d����Z �RS( ���c���������C���s����|�|��_��d��|��_�i��|��_�g��|��_�d�|��_�d�|��_�d�|��_�d�|��_�d��}�|�r��zt�yS�t �|���}�t �j�|���|��_�t�|��j�t ���s��t�j�d�I|�IJi��|��_�n��Wn�t�t�t�f�k �r��n�XWd��|�r��|�j����n��Xn��d��S(���Ni����s"���Problem reading options from file:(���t���_Switchboard__initfilet���Nonet���_Switchboard__colordbt���_Switchboard__optiondbt���_Switchboard__viewst���_Switchboard__redt���_Switchboard__greent���_Switchboard__bluet���_Switchboard__canceledt���opent���marshalt���loadt ���isinstanceR����t���syst���stderrt���IOErrort���EOFErrort ���ValueErrort���close(���t���selft���initfilet���fp(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���__init__3���s,���� c���������C���s���|��j��j�|���d��S(���N(���R���t���append(���R���t���view(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���add_viewM���s����c���������C���sF���|�|��_��|�|��_�|�|��_�x$�|��j�D]�}�|�j�|�|�|���q%�Wd��S(���N(���R���R���R ���R���t���update_yourself(���R���t���redt���greent���bluet���v(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���update_viewsP���s ���� c���������C���s ���|��j��|��j�|��j�|��j���d��S(���N(���R!���R���R���R ���(���R���(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���update_views_currentW���s����c���������C���s���|��j��|��j�|��j�f�S(���N(���R���R���R ���(���R���(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���current_rgbZ���s����c���������C���s���|��j��S(���N(���R���(���R���(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���colordb]���s����c���������C���sJ���|�|��_��x0�|��j�D]%�}�t�|�d���r�|�j�|���q�q�W|��j����d��S(���Nt���colordb_changed(���R���R���t���hasattrR%���R"���(���R���R$���R ���(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���set_colordb`���s ���� c���������C���s���|��j��S(���N(���R���(���R���(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���optiondbg���s����c���������C���s����|��j��|��j�d�<|��j�|��j�d�<|��j�|��j�d�<x3�|��j�D](�}�t�|�d���r:�|�j�|��j���q:�q:�W|��j�j����|��j�d�<d��}�zW�y�t �|��j�d���}�Wn'�t�k �r��t �j�d�I|��j�IJn�Xt�j�|��j�|���Wd��|�r��|�j����n��Xd��S(���Nt���REDt���GREENt���BLUEt���save_optionst���DBFILEt���ws���Cannot write options to file:(���R���R���R���R ���R���R&���R,���R���t���filenameR���R���R���R���R���R���R���t���dumpR���(���R���R ���R���(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt ���save_viewsj���s"���� c���������C���s4���x-�|��j��D]"�}�t�|�d���r �|�j����q �q �Wd��S(���Nt���withdraw(���R���R&���R2���(���R���R ���(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���withdraw_views����s����i���c���������C���s ���|�|��_��d��S(���N(���R ���(���R���t���flag(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���canceled����s����c���������C���s���|��j��S(���N(���R ���(���R���(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt ���canceled_p����s����(���t���__name__t ���__module__R���R���R!���R"���R#���R$���R'���R(���R1���R3���R5���R6���(����(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyR���2���s��� (����(���t���__doc__R���t���typesR����R���R���(����(����(����s8���/usr/lib64/python2.7/site-packages/pynche/Switchboard.pyt���<module>*���s���