ofs | hex dump | ascii |
---|
0000 | 23 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 37 2c 20 50 6c 61 79 66 75 6c 20 49 6e 76 | #Copyright.(c).2007,.Playful.Inv |
0020 | 65 6e 74 69 6f 6e 20 43 6f 6d 70 61 6e 79 0a 23 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 | ention.Company.#Copyright.(c).20 |
0040 | 30 38 2d 31 30 2c 20 57 61 6c 74 65 72 20 42 65 6e 64 65 72 0a 23 43 6f 70 79 72 69 67 68 74 20 | 08-10,.Walter.Bender.#Copyright. |
0060 | 28 63 29 20 32 30 30 39 2c 31 30 20 52 61 75 6c 20 47 75 74 69 65 72 72 65 7a 20 53 65 67 61 6c | (c).2009,10.Raul.Gutierrez.Segal |
0080 | 65 73 0a 0a 23 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 | es..#Permission.is.hereby.grante |
00a0 | 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e | d,.free.of.charge,.to.any.person |
00c0 | 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 23 6f 66 20 74 68 69 73 20 73 6f 66 74 77 | .obtaining.a.copy.#of.this.softw |
00e0 | 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e | are.and.associated.documentation |
0100 | 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c | .files.(the."Software"),.to.deal |
0120 | 0a 23 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 | .#in.the.Software.without.restri |
0140 | 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 | ction,.including.without.limitat |
0160 | 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 23 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f | ion.the.rights.#to.use,.copy,.mo |
0180 | 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 | dify,.merge,.publish,.distribute |
01a0 | 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 23 63 6f 70 69 65 | ,.sublicense,.and/or.sell.#copie |
01c0 | 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 | s.of.the.Software,.and.to.permit |
01e0 | 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 | .persons.to.whom.the.Software.is |
0200 | 0a 23 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f | .#furnished.to.do.so,.subject.to |
0220 | 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 23 54 68 65 | .the.following.conditions:..#The |
0240 | 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 | .above.copyright.notice.and.this |
0260 | 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c | .permission.notice.shall.be.incl |
0280 | 75 64 65 64 20 69 6e 0a 23 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 | uded.in.#all.copies.or.substanti |
02a0 | 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 00 0a 0a 23 | al.portions.of.the.Software....# |
02c0 | 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 | THE.SOFTWARE.IS.PROVIDED."AS.IS" |
02e0 | 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 | ,.WITHOUT.WARRANTY.OF.ANY.KIND,. |
0300 | 45 58 50 52 45 53 53 20 4f 52 0a 23 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 | EXPRESS.OR.#IMPLIED,.INCLUDING.B |
0320 | 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 | UT.NOT.LIMITED.TO.THE.WARRANTIES |
0340 | 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 23 46 49 54 4e 45 53 53 20 46 4f | .OF.MERCHANTABILITY,.#FITNESS.FO |
0360 | 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e | R.A.PARTICULAR.PURPOSE.AND.NONIN |
0380 | 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 | FRINGEMENT..IN.NO.EVENT.SHALL.TH |
03a0 | 45 0a 23 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 | E.#AUTHORS.OR.COPYRIGHT.HOLDERS. |
03c0 | 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 | BE.LIABLE.FOR.ANY.CLAIM,.DAMAGES |
03e0 | 20 4f 52 20 4f 54 48 45 52 0a 23 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e | .OR.OTHER.#LIABILITY,.WHETHER.IN |
0400 | 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 | .AN.ACTION.OF.CONTRACT,.TORT.OR. |
0420 | 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 23 4f 55 54 20 4f 46 | OTHERWISE,.ARISING.FROM,.#OUT.OF |
0440 | 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 | .OR.IN.CONNECTION.WITH.THE.SOFTW |
0460 | 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 | ARE.OR.THE.USE.OR.OTHER.DEALINGS |
0480 | 20 49 4e 0a 23 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 69 6d 70 6f 72 74 20 70 79 67 74 6b | .IN.#THE.SOFTWARE...import.pygtk |
04a0 | 0a 70 79 67 74 6b 2e 72 65 71 75 69 72 65 28 27 32 2e 30 27 29 0a 69 6d 70 6f 72 74 20 67 74 6b | .pygtk.require('2.0').import.gtk |
04c0 | 0a 69 6d 70 6f 72 74 20 67 6f 62 6a 65 63 74 0a 0a 69 6d 70 6f 72 74 20 6c 6f 67 67 69 6e 67 0a | .import.gobject..import.logging. |
04e0 | 5f 6c 6f 67 67 65 72 20 3d 20 6c 6f 67 67 69 6e 67 2e 67 65 74 4c 6f 67 67 65 72 28 27 74 75 72 | _logger.=.logging.getLogger('tur |
0500 | 74 6c 65 61 72 74 2d 61 63 74 69 76 69 74 79 27 29 0a 0a 66 72 6f 6d 20 73 75 67 61 72 2e 61 63 | tleart-activity')..from.sugar.ac |
0520 | 74 69 76 69 74 79 20 69 6d 70 6f 72 74 20 61 63 74 69 76 69 74 79 0a 74 72 79 3a 20 23 20 30 2e | tivity.import.activity.try:.#.0. |
0540 | 38 36 20 74 6f 6f 6c 62 61 72 20 77 69 64 67 65 74 73 0a 20 20 20 20 66 72 6f 6d 20 73 75 67 61 | 86.toolbar.widgets.....from.suga |
0560 | 72 2e 61 63 74 69 76 69 74 79 2e 77 69 64 67 65 74 73 20 69 6d 70 6f 72 74 20 41 63 74 69 76 69 | r.activity.widgets.import.Activi |
0580 | 74 79 54 6f 6f 6c 62 61 72 42 75 74 74 6f 6e 2c 20 53 74 6f 70 42 75 74 74 6f 6e 2c 5c 0a 20 20 | tyToolbarButton,.StopButton,\... |
05a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
05c0 | 20 20 20 20 20 45 64 69 74 54 6f 6f 6c 62 61 72 0a 20 20 20 20 66 72 6f 6d 20 73 75 67 61 72 2e | .....EditToolbar.....from.sugar. |
05e0 | 67 72 61 70 68 69 63 73 2e 74 6f 6f 6c 62 61 72 62 6f 78 20 69 6d 70 6f 72 74 20 54 6f 6f 6c 62 | graphics.toolbarbox.import.Toolb |
0600 | 61 72 42 6f 78 2c 20 54 6f 6f 6c 62 61 72 42 75 74 74 6f 6e 0a 20 20 20 20 4e 45 57 5f 53 55 47 | arBox,.ToolbarButton.....NEW_SUG |
0620 | 41 52 5f 53 59 53 54 45 4d 20 3d 20 54 72 75 65 0a 65 78 63 65 70 74 20 49 6d 70 6f 72 74 45 72 | AR_SYSTEM.=.True.except.ImportEr |
0640 | 72 6f 72 3a 0a 20 20 20 20 4e 45 57 5f 53 55 47 41 52 5f 53 59 53 54 45 4d 20 3d 20 46 61 6c 73 | ror:.....NEW_SUGAR_SYSTEM.=.Fals |
0660 | 65 0a 66 72 6f 6d 20 73 75 67 61 72 2e 67 72 61 70 68 69 63 73 2e 74 6f 6f 6c 62 75 74 74 6f 6e | e.from.sugar.graphics.toolbutton |
0680 | 20 69 6d 70 6f 72 74 20 54 6f 6f 6c 42 75 74 74 6f 6e 0a 66 72 6f 6d 20 73 75 67 61 72 2e 64 61 | .import.ToolButton.from.sugar.da |
06a0 | 74 61 73 74 6f 72 65 20 69 6d 70 6f 72 74 20 64 61 74 61 73 74 6f 72 65 0a 0a 69 6d 70 6f 72 74 | tastore.import.datastore..import |
06c0 | 20 74 65 6c 65 70 61 74 68 79 0a 66 72 6f 6d 20 64 62 75 73 2e 73 65 72 76 69 63 65 20 69 6d 70 | .telepathy.from.dbus.service.imp |
06e0 | 6f 72 74 20 73 69 67 6e 61 6c 0a 66 72 6f 6d 20 64 62 75 73 2e 67 6f 62 6a 65 63 74 5f 73 65 72 | ort.signal.from.dbus.gobject_ser |
0700 | 76 69 63 65 20 69 6d 70 6f 72 74 20 45 78 70 6f 72 74 65 64 47 4f 62 6a 65 63 74 0a 66 72 6f 6d | vice.import.ExportedGObject.from |
0720 | 20 73 75 67 61 72 2e 70 72 65 73 65 6e 63 65 20 69 6d 70 6f 72 74 20 70 72 65 73 65 6e 63 65 73 | .sugar.presence.import.presences |
0740 | 65 72 76 69 63 65 0a 66 72 6f 6d 20 73 75 67 61 72 2e 70 72 65 73 65 6e 63 65 2e 74 75 62 65 63 | ervice.from.sugar.presence.tubec |
0760 | 6f 6e 6e 20 69 6d 70 6f 72 74 20 54 75 62 65 43 6f 6e 6e 65 63 74 69 6f 6e 0a 0a 66 72 6f 6d 20 | onn.import.TubeConnection..from. |
0780 | 73 75 67 61 72 20 69 6d 70 6f 72 74 20 70 72 6f 66 69 6c 65 0a 66 72 6f 6d 20 67 65 74 74 65 78 | sugar.import.profile.from.gettex |
07a0 | 74 20 69 6d 70 6f 72 74 20 67 65 74 74 65 78 74 20 61 73 20 5f 0a 69 6d 70 6f 72 74 20 6f 73 2e | t.import.gettext.as._.import.os. |
07c0 | 70 61 74 68 0a 69 6d 70 6f 72 74 20 74 61 72 66 69 6c 65 0a 0a 66 72 6f 6d 20 74 61 63 6f 6e 73 | path.import.tarfile..from.tacons |
07e0 | 74 61 6e 74 73 20 69 6d 70 6f 72 74 20 50 41 4c 45 54 54 45 5f 4e 41 4d 45 53 2c 20 4f 56 45 52 | tants.import.PALETTE_NAMES,.OVER |
0800 | 4c 41 59 5f 4c 41 59 45 52 2c 20 48 45 4c 50 5f 53 54 52 49 4e 47 53 0a 66 72 6f 6d 20 74 61 65 | LAY_LAYER,.HELP_STRINGS.from.tae |
0820 | 78 70 6f 72 74 68 74 6d 6c 20 69 6d 70 6f 72 74 20 73 61 76 65 5f 68 74 6d 6c 0a 66 72 6f 6d 20 | xporthtml.import.save_html.from. |
0840 | 74 61 65 78 70 6f 72 74 6c 6f 67 6f 20 69 6d 70 6f 72 74 20 73 61 76 65 5f 6c 6f 67 6f 0a 66 72 | taexportlogo.import.save_logo.fr |
0860 | 6f 6d 20 74 61 75 74 69 6c 73 20 69 6d 70 6f 72 74 20 64 61 74 61 5f 74 6f 5f 66 69 6c 65 2c 20 | om.tautils.import.data_to_file,. |
0880 | 64 61 74 61 5f 74 6f 5f 73 74 72 69 6e 67 2c 20 64 61 74 61 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 | data_to_string,.data_from_string |
08a0 | 2c 20 67 65 74 5f 70 61 74 68 0a 66 72 6f 6d 20 74 61 77 69 6e 64 6f 77 20 69 6d 70 6f 72 74 20 | ,.get_path.from.tawindow.import. |
08c0 | 54 75 72 74 6c 65 41 72 74 57 69 6e 64 6f 77 0a 66 72 6f 6d 20 74 61 74 75 72 74 6c 65 20 69 6d | TurtleArtWindow.from.taturtle.im |
08e0 | 70 6f 72 74 20 54 75 72 74 6c 65 0a 0a 53 45 52 56 49 43 45 20 3d 20 27 6f 72 67 2e 6c 61 70 74 | port.Turtle..SERVICE.=.'org.lapt |
0900 | 6f 70 2e 54 75 72 74 6c 65 41 72 74 41 63 74 69 76 69 74 79 27 0a 49 46 41 43 45 20 3d 20 53 45 | op.TurtleArtActivity'.IFACE.=.SE |
0920 | 52 56 49 43 45 0a 50 41 54 48 20 3d 20 27 2f 6f 72 67 2f 6c 61 70 74 6f 70 2f 54 75 72 74 6c 65 | RVICE.PATH.=.'/org/laptop/Turtle |
0940 | 41 72 74 41 63 74 69 76 69 74 79 27 0a 0a 63 6c 61 73 73 20 54 75 72 74 6c 65 41 72 74 41 63 74 | ArtActivity'..class.TurtleArtAct |
0960 | 69 76 69 74 79 28 61 63 74 69 76 69 74 79 2e 41 63 74 69 76 69 74 79 29 3a 0a 0a 20 20 20 20 64 | ivity(activity.Activity):......d |
0980 | 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 68 61 6e 64 6c 65 29 3a 0a 20 20 20 20 20 | ef.__init__(self,.handle):...... |
09a0 | 20 20 20 22 22 22 20 41 63 74 69 76 69 74 79 20 73 75 62 63 6c 61 73 73 20 66 6f 72 20 54 75 72 | ...""".Activity.subclass.for.Tur |
09c0 | 74 6c 65 20 41 72 74 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 54 75 72 74 6c 65 | tle.Art.""".........super(Turtle |
09e0 | 41 72 74 41 63 74 69 76 69 74 79 2c 20 73 65 6c 66 29 2e 5f 5f 69 6e 69 74 5f 5f 28 68 61 6e 64 | ArtActivity,.self).__init__(hand |
0a00 | 6c 65 29 0a 0a 20 20 20 20 20 20 20 20 64 61 74 61 70 61 74 68 20 3d 20 67 65 74 5f 70 61 74 68 | le)..........datapath.=.get_path |
0a20 | 28 61 63 74 69 76 69 74 79 2c 20 27 64 61 74 61 27 29 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 | (activity,.'data').............. |
0a40 | 20 20 20 20 73 65 6c 66 2e 5f 73 65 74 75 70 5f 76 69 73 69 62 69 6c 69 74 79 5f 68 61 6e 64 6c | ....self._setup_visibility_handl |
0a60 | 65 72 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6e 65 77 5f 73 75 67 61 72 5f 73 79 73 | er()..........self.new_sugar_sys |
0a80 | 74 65 6d 20 3d 20 4e 45 57 5f 53 55 47 41 52 5f 53 59 53 54 45 4d 0a 20 20 20 20 20 20 20 20 73 | tem.=.NEW_SUGAR_SYSTEM.........s |
0aa0 | 65 6c 66 2e 5f 73 65 74 75 70 5f 74 6f 6f 6c 62 61 72 28 29 0a 0a 20 20 20 20 20 20 20 20 63 61 | elf._setup_toolbar()..........ca |
0ac0 | 6e 76 61 73 20 3d 20 73 65 6c 66 2e 5f 73 65 74 75 70 5f 73 63 72 6f 6c 6c 65 64 5f 77 69 6e 64 | nvas.=.self._setup_scrolled_wind |
0ae0 | 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 63 68 65 63 6b 5f 76 65 72 5f 63 68 | ow()..........self._check_ver_ch |
0b00 | 61 6e 67 65 28 64 61 74 61 70 61 74 68 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 73 65 | ange(datapath)..........self._se |
0b20 | 74 75 70 5f 63 61 6e 76 61 73 28 63 61 6e 76 61 73 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | tup_canvas(canvas)..........self |
0b40 | 2e 5f 6c 6f 61 64 5f 70 79 74 68 6f 6e 5f 63 6f 64 65 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 | ._load_python_code()..........se |
0b60 | 6c 66 2e 5f 73 65 74 75 70 5f 73 68 61 72 69 6e 67 28 29 0a 0a 0a 20 20 20 20 23 20 41 63 74 69 | lf._setup_sharing().......#.Acti |
0b80 | 76 69 74 79 20 74 6f 6f 6c 62 61 72 20 63 61 6c 6c 62 61 63 6b 73 0a 0a 20 20 20 20 64 65 66 20 | vity.toolbar.callbacks......def. |
0ba0 | 64 6f 5f 73 61 76 65 5f 61 73 5f 68 74 6d 6c 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 | do_save_as_html_cb(self,.button) |
0bc0 | 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 57 72 69 74 65 20 68 74 6d 6c 20 6f 75 74 20 74 6f 20 | :.........""".Write.html.out.to. |
0be0 | 64 61 74 61 73 74 6f 72 65 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 | datastore..""".........self.save |
0c00 | 5f 61 73 5f 68 74 6d 6c 2e 73 65 74 5f 69 63 6f 6e 28 22 68 74 6d 6c 6f 6e 22 29 0a 20 20 20 20 | _as_html.set_icon("htmlon")..... |
0c20 | 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 73 61 76 69 6e 67 20 68 74 6d 6c 20 63 | ...._logger.debug("saving.html.c |
0c40 | 6f 64 65 22 29 0a 20 20 20 20 20 20 20 20 23 20 75 6e 74 69 6c 20 77 65 20 68 61 76 65 20 55 52 | ode").........#.until.we.have.UR |
0c60 | 4c 73 20 66 6f 72 20 64 61 74 61 73 74 6f 72 65 20 6f 62 6a 65 63 74 73 2c 20 61 6c 77 61 79 73 | Ls.for.datastore.objects,.always |
0c80 | 20 65 6d 62 65 64 20 69 6d 61 67 65 73 0a 20 20 20 20 20 20 20 20 65 6d 62 65 64 5f 66 6c 61 67 | .embed.images.........embed_flag |
0ca0 | 20 3d 20 54 72 75 65 0a 0a 20 20 20 20 20 20 20 20 23 20 67 72 61 62 20 63 6f 64 65 20 66 72 6f | .=.True..........#.grab.code.fro |
0cc0 | 6d 20 73 74 61 63 6b 73 0a 20 20 20 20 20 20 20 20 68 74 6d 6c 20 3d 20 73 61 76 65 5f 68 74 6d | m.stacks.........html.=.save_htm |
0ce0 | 6c 28 73 65 6c 66 2c 20 73 65 6c 66 2e 74 77 2c 20 65 6d 62 65 64 5f 66 6c 61 67 29 0a 20 20 20 | l(self,.self.tw,.embed_flag).... |
0d00 | 20 20 20 20 20 69 66 20 6c 65 6e 28 68 74 6d 6c 29 20 3d 3d 20 30 3a 0a 20 20 20 20 20 20 20 20 | .....if.len(html).==.0:......... |
0d20 | 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 20 20 20 23 20 73 61 76 65 20 74 68 65 20 68 | ....return..........#.save.the.h |
0d40 | 74 6d 6c 20 63 6f 64 65 20 74 6f 20 74 68 65 20 69 6e 73 74 61 6e 63 65 20 64 69 72 65 63 74 6f | tml.code.to.the.instance.directo |
0d60 | 72 79 0a 20 20 20 20 20 20 20 20 64 61 74 61 70 61 74 68 20 3d 20 67 65 74 5f 70 61 74 68 28 61 | ry.........datapath.=.get_path(a |
0d80 | 63 74 69 76 69 74 79 2c 20 27 69 6e 73 74 61 6e 63 65 27 29 0a 0a 20 20 20 20 20 20 20 20 73 61 | ctivity,.'instance')..........sa |
0da0 | 76 65 5f 74 79 70 65 20 3d 20 27 2e 68 74 6d 6c 27 0a 20 20 20 20 20 20 20 20 69 66 20 6c 65 6e | ve_type.=.'.html'.........if.len |
0dc0 | 28 73 65 6c 66 2e 74 77 2e 73 61 76 65 64 5f 70 69 63 74 75 72 65 73 29 20 3e 20 30 3a 0a 20 20 | (self.tw.saved_pictures).>.0:... |
0de0 | 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 74 77 2e 73 61 76 65 64 5f 70 69 63 74 75 | ..........if.self.tw.saved_pictu |
0e00 | 72 65 73 5b 30 5d 2e 65 6e 64 73 77 69 74 68 28 28 27 2e 73 76 67 27 29 29 3a 0a 20 20 20 20 20 | res[0].endswith(('.svg')):...... |
0e20 | 20 20 20 20 20 20 20 20 20 20 20 73 61 76 65 5f 74 79 70 65 20 3d 20 27 2e 78 6d 6c 27 0a 0a 20 | ...........save_type.=.'.xml'... |
0e40 | 20 20 20 20 20 20 20 68 74 6d 6c 5f 66 69 6c 65 20 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 | .......html_file.=.os.path.join( |
0e60 | 64 61 74 61 70 61 74 68 2c 20 22 70 6f 72 74 66 6f 6c 69 6f 22 20 2b 20 73 61 76 65 5f 74 79 70 | datapath,."portfolio".+.save_typ |
0e80 | 65 29 0a 20 20 20 20 20 20 20 20 66 20 3d 20 66 69 6c 65 28 68 74 6d 6c 5f 66 69 6c 65 2c 20 22 | e).........f.=.file(html_file,." |
0ea0 | 77 22 29 0a 20 20 20 20 20 20 20 20 66 2e 77 72 69 74 65 28 68 74 6d 6c 29 0a 20 20 20 20 20 20 | w").........f.write(html)....... |
0ec0 | 20 20 66 2e 63 6c 6f 73 65 28 29 0a 0a 20 20 20 20 20 20 20 20 69 66 20 65 6d 62 65 64 5f 66 6c | ..f.close()..........if.embed_fl |
0ee0 | 61 67 20 3d 3d 20 46 61 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 23 20 6e 65 65 64 20 74 6f 20 6d | ag.==.False:.........#.need.to.m |
0f00 | 61 6b 65 20 61 20 74 61 72 62 61 6c 6c 20 74 68 61 74 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 | ake.a.tarball.that.includes.the. |
0f20 | 69 6d 61 67 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 5f 70 61 74 68 20 3d 20 6f 73 | images.............tar_path.=.os |
0f40 | 2e 70 61 74 68 2e 6a 6f 69 6e 28 64 61 74 61 70 61 74 68 2c 20 27 70 6f 72 74 66 6f 6c 69 6f 2e | .path.join(datapath,.'portfolio. |
0f60 | 74 61 72 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 5f 66 64 20 3d 20 74 61 72 66 69 | tar').............tar_fd.=.tarfi |
0f80 | 6c 65 2e 6f 70 65 6e 28 74 61 72 5f 70 61 74 68 2c 20 27 77 27 29 0a 20 20 20 20 20 20 20 20 20 | le.open(tar_path,.'w').......... |
0fa0 | 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 5f 66 64 2e 61 | ...try:.................tar_fd.a |
0fc0 | 64 64 28 68 74 6d 6c 5f 66 69 6c 65 2c 20 22 70 6f 72 74 66 6f 6c 69 6f 2e 68 74 6d 6c 22 29 0a | dd(html_file,."portfolio.html"). |
0fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 67 6c 6f 62 0a 20 20 20 20 | ................import.glob..... |
1000 | 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 61 67 65 5f 6c 69 73 74 20 3d 20 67 6c 6f 62 2e 67 6c | ............image_list.=.glob.gl |
1020 | 6f 62 28 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 64 61 74 61 70 61 74 68 2c 20 27 69 6d 61 67 65 | ob(os.path.join(datapath,.'image |
1040 | 2a 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e 20 69 6d | *')).................for.i.in.im |
1060 | 61 67 65 5f 6c 69 73 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 | age_list:.....................ta |
1080 | 72 5f 66 64 2e 61 64 64 28 69 2c 20 6f 73 2e 70 61 74 68 2e 62 61 73 65 6e 61 6d 65 28 69 29 29 | r_fd.add(i,.os.path.basename(i)) |
10a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 20 | .............finally:........... |
10c0 | 20 20 20 20 20 20 74 61 72 5f 66 64 2e 63 6c 6f 73 65 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 | ......tar_fd.close()..........#. |
10e0 | 43 72 65 61 74 65 20 61 20 64 61 74 61 73 74 6f 72 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 | Create.a.datastore.object....... |
1100 | 20 20 64 73 6f 62 6a 65 63 74 20 3d 20 64 61 74 61 73 74 6f 72 65 2e 63 72 65 61 74 65 28 29 0a | ..dsobject.=.datastore.create(). |
1120 | 0a 20 20 20 20 20 20 20 20 23 20 57 72 69 74 65 20 61 6e 79 20 6d 65 74 61 64 61 74 61 20 28 68 | .........#.Write.any.metadata.(h |
1140 | 65 72 65 20 77 65 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 73 65 74 20 74 68 65 20 74 69 74 6c | ere.we.specifically.set.the.titl |
1160 | 65 20 6f 66 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 23 20 61 6e 64 20 73 70 65 63 | e.of.the.file.........#.and.spec |
1180 | 69 66 79 20 74 68 61 74 20 74 68 69 73 20 69 73 20 61 20 70 6c 61 69 6e 20 74 65 78 74 20 66 69 | ify.that.this.is.a.plain.text.fi |
11a0 | 6c 65 29 2e 20 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b | le)...........dsobject.metadata[ |
11c0 | 27 74 69 74 6c 65 27 5d 20 3d 20 73 65 6c 66 2e 6d 65 74 61 64 61 74 61 5b 27 74 69 74 6c 65 27 | 'title'].=.self.metadata['title' |
11e0 | 5d 20 2b 20 22 20 22 20 2b 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ].+.".".+.\..................... |
1200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 28 22 70 72 65 73 65 6e 74 61 74 69 6f 6e | ................._("presentation |
1220 | 22 29 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 69 63 | ").........dsobject.metadata['ic |
1240 | 6f 6e 2d 63 6f 6c 6f 72 27 5d 20 3d 20 70 72 6f 66 69 6c 65 2e 67 65 74 5f 63 6f 6c 6f 72 28 29 | on-color'].=.profile.get_color() |
1260 | 2e 74 6f 5f 73 74 72 69 6e 67 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 65 6d 62 65 64 5f 66 6c | .to_string().........if.embed_fl |
1280 | 61 67 20 3d 3d 20 54 72 75 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 61 76 65 5f | ag.==.True:.............if.save_ |
12a0 | 74 79 70 65 20 3d 3d 20 27 2e 78 6d 6c 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | type.==.'.xml':................. |
12c0 | 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 6d 69 6d 65 5f 74 79 70 65 27 5d 20 3d | dsobject.metadata['mime_type'].= |
12e0 | 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 6d 6c 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 | .'application/xml'.............e |
1300 | 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 | lse:.................dsobject.me |
1320 | 74 61 64 61 74 61 5b 27 6d 69 6d 65 5f 74 79 70 65 27 5d 20 3d 20 27 74 65 78 74 2f 68 74 6d 6c | tadata['mime_type'].=.'text/html |
1340 | 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 73 65 74 5f 66 69 6c 65 5f | '.............dsobject.set_file_ |
1360 | 70 61 74 68 28 68 74 6d 6c 5f 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 | path(html_file).........else:... |
1380 | 20 20 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 6d 69 6d | ..........dsobject.metadata['mim |
13a0 | 65 5f 74 79 70 65 27 5d 20 3d 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 74 61 72 27 0a 20 | e_type'].=.'application/x-tar'.. |
13c0 | 20 20 20 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 73 65 74 5f 66 69 6c 65 5f 70 61 74 | ...........dsobject.set_file_pat |
13e0 | 68 28 74 61 72 5f 70 61 74 68 29 0a 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 | h(tar_path)..........dsobject.me |
1400 | 74 61 64 61 74 61 5b 27 61 63 74 69 76 69 74 79 27 5d 20 3d 20 27 6f 72 67 2e 6c 61 70 74 6f 70 | tadata['activity'].=.'org.laptop |
1420 | 2e 57 65 62 41 63 74 69 76 69 74 79 27 0a 20 20 20 20 20 20 20 20 64 61 74 61 73 74 6f 72 65 2e | .WebActivity'.........datastore. |
1440 | 77 72 69 74 65 28 64 73 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 | write(dsobject).........dsobject |
1460 | 2e 64 65 73 74 72 6f 79 28 29 0a 20 20 20 20 20 20 20 20 67 6f 62 6a 65 63 74 2e 74 69 6d 65 6f | .destroy().........gobject.timeo |
1480 | 75 74 5f 61 64 64 28 32 35 30 2c 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 68 74 6d 6c 2e 73 65 | ut_add(250,.self.save_as_html.se |
14a0 | 74 5f 69 63 6f 6e 2c 20 22 68 74 6d 6c 6f 66 66 22 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | t_icon,."htmloff")..........self |
14c0 | 2e 74 77 2e 73 61 76 65 64 5f 70 69 63 74 75 72 65 73 20 3d 20 5b 5d 0a 20 20 20 20 20 20 20 20 | .tw.saved_pictures.=.[]......... |
14e0 | 72 65 74 75 72 6e 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 5f | return......def.do_save_as_logo_ |
1500 | 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 57 72 | cb(self,.button):.........""".Wr |
1520 | 69 74 65 20 6c 6f 67 6f 20 63 6f 64 65 20 6f 75 74 20 74 6f 20 64 61 74 61 73 74 6f 72 65 2e 20 | ite.logo.code.out.to.datastore.. |
1540 | 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 2e 73 65 | """.........self.save_as_logo.se |
1560 | 74 5f 69 63 6f 6e 28 22 6c 6f 67 6f 2d 73 61 76 65 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 23 20 | t_icon("logo-saveon").........#. |
1580 | 67 72 61 62 20 63 6f 64 65 20 66 72 6f 6d 20 73 74 61 63 6b 73 0a 20 20 20 20 20 20 20 20 6c 6f | grab.code.from.stacks.........lo |
15a0 | 67 6f 63 6f 64 65 20 3d 20 73 61 76 65 5f 6c 6f 67 6f 28 73 65 6c 66 2e 74 77 29 0a 20 20 20 20 | gocode.=.save_logo(self.tw)..... |
15c0 | 20 20 20 20 69 66 20 6c 65 6e 28 6c 6f 67 6f 63 6f 64 65 29 20 3d 3d 20 30 3a 0a 20 20 20 20 20 | ....if.len(logocode).==.0:...... |
15e0 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 20 3d | .......return.........filename.= |
1600 | 20 22 6c 6f 67 6f 73 65 73 73 69 6f 6e 2e 6c 67 22 0a 0a 20 20 20 20 20 20 20 20 23 20 43 72 65 | ."logosession.lg"..........#.Cre |
1620 | 61 74 65 20 61 20 64 61 74 61 73 74 6f 72 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 64 | ate.a.datastore.object.........d |
1640 | 73 6f 62 6a 65 63 74 20 3d 20 64 61 74 61 73 74 6f 72 65 2e 63 72 65 61 74 65 28 29 0a 0a 20 20 | sobject.=.datastore.create().... |
1660 | 20 20 20 20 20 20 23 20 57 72 69 74 65 20 61 6e 79 20 6d 65 74 61 64 61 74 61 20 28 68 65 72 65 | ......#.Write.any.metadata.(here |
1680 | 20 77 65 20 73 70 65 63 69 66 69 63 61 6c 6c 79 20 73 65 74 20 74 68 65 20 74 69 74 6c 65 20 6f | .we.specifically.set.the.title.o |
16a0 | 66 20 74 68 65 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 23 20 61 6e 64 20 73 70 65 63 69 66 79 | f.the.file.........#.and.specify |
16c0 | 20 74 68 61 74 20 74 68 69 73 20 69 73 20 61 20 70 6c 61 69 6e 20 74 65 78 74 20 66 69 6c 65 29 | .that.this.is.a.plain.text.file) |
16e0 | 2e 20 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 74 69 | ...........dsobject.metadata['ti |
1700 | 74 6c 65 27 5d 20 3d 20 73 65 6c 66 2e 6d 65 74 61 64 61 74 61 5b 27 74 69 74 6c 65 27 5d 20 2b | tle'].=.self.metadata['title'].+ |
1720 | 20 22 2e 6c 67 22 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 | .".lg".........dsobject.metadata |
1740 | 5b 27 6d 69 6d 65 5f 74 79 70 65 27 5d 20 3d 20 27 74 65 78 74 2f 70 6c 61 69 6e 27 0a 20 20 20 | ['mime_type'].=.'text/plain'.... |
1760 | 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 69 63 6f 6e 2d 63 6f 6c | .....dsobject.metadata['icon-col |
1780 | 6f 72 27 5d 20 3d 20 70 72 6f 66 69 6c 65 2e 67 65 74 5f 63 6f 6c 6f 72 28 29 2e 74 6f 5f 73 74 | or'].=.profile.get_color().to_st |
17a0 | 72 69 6e 67 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 73 61 76 65 20 74 68 65 20 4c 6f 67 6f 20 | ring()..........#.save.the.Logo. |
17c0 | 63 6f 64 65 20 74 6f 20 74 68 65 20 69 6e 73 74 61 6e 63 65 20 64 69 72 65 63 74 6f 72 79 0a 20 | code.to.the.instance.directory.. |
17e0 | 20 20 20 20 20 20 20 64 61 74 61 70 61 74 68 20 3d 20 67 65 74 5f 70 61 74 68 28 61 63 74 69 76 | .......datapath.=.get_path(activ |
1800 | 69 74 79 2c 20 27 69 6e 73 74 61 6e 63 65 27 29 0a 0a 20 20 20 20 20 20 20 20 23 20 57 72 69 74 | ity,.'instance')..........#.Writ |
1820 | 65 20 74 68 65 20 66 69 6c 65 20 74 6f 20 74 68 65 20 64 61 74 61 20 64 69 72 65 63 74 6f 72 79 | e.the.file.to.the.data.directory |
1840 | 20 6f 66 20 74 68 69 73 20 61 63 74 69 76 69 74 79 27 73 20 72 6f 6f 74 2e 20 0a 20 20 20 20 20 | .of.this.activity's.root........ |
1860 | 20 20 20 66 69 6c 65 5f 70 61 74 68 20 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 64 61 74 61 | ...file_path.=.os.path.join(data |
1880 | 70 61 74 68 2c 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 66 20 3d 20 6f 70 65 6e | path,.filename).........f.=.open |
18a0 | 28 66 69 6c 65 5f 70 61 74 68 2c 20 27 77 27 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 | (file_path,.'w').........try:... |
18c0 | 20 20 20 20 20 20 20 20 20 20 66 2e 77 72 69 74 65 28 6c 6f 67 6f 63 6f 64 65 29 0a 20 20 20 20 | ..........f.write(logocode)..... |
18e0 | 20 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 2e 63 6c 6f 73 65 | ....finally:.............f.close |
1900 | 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 53 65 74 20 74 68 65 20 66 69 6c 65 5f 70 61 74 68 20 | ()..........#.Set.the.file_path. |
1920 | 69 6e 20 74 68 65 20 64 61 74 61 73 74 6f 72 65 2e 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 | in.the.datastore..........dsobje |
1940 | 63 74 2e 73 65 74 5f 66 69 6c 65 5f 70 61 74 68 28 66 69 6c 65 5f 70 61 74 68 29 0a 0a 20 20 20 | ct.set_file_path(file_path)..... |
1960 | 20 20 20 20 20 64 61 74 61 73 74 6f 72 65 2e 77 72 69 74 65 28 64 73 6f 62 6a 65 63 74 29 0a 20 | .....datastore.write(dsobject).. |
1980 | 20 20 20 20 20 20 20 67 6f 62 6a 65 63 74 2e 74 69 6d 65 6f 75 74 5f 61 64 64 28 32 35 30 2c 20 | .......gobject.timeout_add(250,. |
19a0 | 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 2e 73 65 74 5f 69 63 6f 6e 2c 20 22 6c 6f 67 | self.save_as_logo.set_icon,."log |
19c0 | 6f 2d 73 61 76 65 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 | o-saveoff").........return...... |
19e0 | 64 65 66 20 64 6f 5f 6c 6f 61 64 5f 74 61 5f 70 72 6f 6a 65 63 74 5f 63 62 28 73 65 6c 66 2c 20 | def.do_load_ta_project_cb(self,. |
1a00 | 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 4c 6f 61 64 20 61 20 70 72 6f 6a | button):.........""".Load.a.proj |
1a20 | 65 63 74 20 66 72 6f 6d 20 74 68 65 20 4a 6f 75 72 6e 61 6c 20 22 22 22 0a 20 20 20 20 20 20 20 | ect.from.the.Journal."""........ |
1a40 | 20 66 72 6f 6d 20 73 75 67 61 72 2e 67 72 61 70 68 69 63 73 2e 6f 62 6a 65 63 74 63 68 6f 6f 73 | .from.sugar.graphics.objectchoos |
1a60 | 65 72 20 69 6d 70 6f 72 74 20 4f 62 6a 65 63 74 43 68 6f 6f 73 65 72 0a 20 20 20 20 20 20 20 20 | er.import.ObjectChooser......... |
1a80 | 63 68 6f 6f 73 65 72 20 3d 20 4f 62 6a 65 63 74 43 68 6f 6f 73 65 72 28 5f 28 22 50 72 6f 6a 65 | chooser.=.ObjectChooser(_("Proje |
1aa0 | 63 74 22 29 2c 20 73 65 6c 66 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ct"),.self,..................... |
1ac0 | 20 20 20 20 20 20 20 20 20 20 67 74 6b 2e 44 49 41 4c 4f 47 5f 4d 4f 44 41 4c 20 7c 20 67 74 6b | ..........gtk.DIALOG_MODAL.|.gtk |
1ae0 | 2e 44 49 41 4c 4f 47 5f 44 45 53 54 52 4f 59 5f 57 49 54 48 5f 50 41 52 45 4e 54 29 0a 20 20 20 | .DIALOG_DESTROY_WITH_PARENT).... |
1b00 | 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 63 | .....try:.............result.=.c |
1b20 | 68 6f 6f 73 65 72 2e 72 75 6e 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 73 75 | hooser.run().............if.resu |
1b40 | 6c 74 20 3d 3d 20 67 74 6b 2e 52 45 53 50 4f 4e 53 45 5f 41 43 43 45 50 54 3a 0a 20 20 20 20 20 | lt.==.gtk.RESPONSE_ACCEPT:...... |
1b60 | 20 20 20 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 20 3d 20 63 68 6f 6f 73 65 72 2e 67 65 | ...........dsobject.=.chooser.ge |
1b80 | 74 5f 73 65 6c 65 63 74 65 64 5f 6f 62 6a 65 63 74 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t_selected_object()............. |
1ba0 | 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 6c 6f | ....try:....................._lo |
1bc0 | 67 67 65 72 2e 64 65 62 75 67 28 22 6f 70 65 6e 69 6e 67 20 25 73 20 22 20 25 20 64 73 6f 62 6a | gger.debug("opening.%s.".%.dsobj |
1be0 | 65 63 74 2e 66 69 6c 65 5f 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ect.file_path).................. |
1c00 | 20 20 20 73 65 6c 66 2e 72 65 61 64 5f 66 69 6c 65 28 64 73 6f 62 6a 65 63 74 2e 66 69 6c 65 5f | ...self.read_file(dsobject.file_ |
1c20 | 70 61 74 68 2c 20 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 | path,.False).................exc |
1c40 | 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 | ept:....................._logger |
1c60 | 2e 64 65 62 75 67 28 22 63 6f 75 6c 64 6e 27 74 20 6f 70 65 6e 20 25 73 22 20 25 20 64 73 6f 62 | .debug("couldn't.open.%s".%.dsob |
1c80 | 6a 65 63 74 2e 66 69 6c 65 5f 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ject.file_path)................. |
1ca0 | 64 73 6f 62 6a 65 63 74 2e 64 65 73 74 72 6f 79 28 29 0a 20 20 20 20 20 20 20 20 66 69 6e 61 6c | dsobject.destroy().........final |
1cc0 | 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 68 6f 6f 73 65 72 2e 64 65 73 74 72 6f 79 28 | ly:.............chooser.destroy( |
1ce0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 20 63 68 6f 6f 73 65 72 0a 20 20 20 20 20 20 | ).............del.chooser....... |
1d00 | 20 20 72 65 74 75 72 6e 20 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 6c 6f 61 64 5f 70 79 74 68 6f | ..return.......def.do_load_pytho |
1d20 | 6e 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 | n_cb(self,.button):.........""". |
1d40 | 4c 6f 61 64 20 50 79 74 68 6f 6e 20 63 6f 64 65 20 66 72 6f 6d 20 74 68 65 20 4a 6f 75 72 6e 61 | Load.Python.code.from.the.Journa |
1d60 | 6c 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 6f 61 64 5f 70 79 74 68 6f 6e 2e | l..""".........self.load_python. |
1d80 | 73 65 74 5f 69 63 6f 6e 28 22 70 69 70 70 79 2d 6f 70 65 6e 6f 6e 22 29 0a 20 20 20 20 20 20 20 | set_icon("pippy-openon")........ |
1da0 | 20 73 65 6c 66 2e 69 6d 70 6f 72 74 5f 70 79 28 29 0a 20 20 20 20 20 20 20 20 67 6f 62 6a 65 63 | .self.import_py().........gobjec |
1dc0 | 74 2e 74 69 6d 65 6f 75 74 5f 61 64 64 28 32 35 30 2c 20 73 65 6c 66 2e 6c 6f 61 64 5f 70 79 74 | t.timeout_add(250,.self.load_pyt |
1de0 | 68 6f 6e 2e 73 65 74 5f 69 63 6f 6e 2c 20 22 70 69 70 70 79 2d 6f 70 65 6e 6f 66 66 22 29 0a 20 | hon.set_icon,."pippy-openoff").. |
1e00 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 64 65 66 20 69 6d 70 6f 72 74 5f 70 79 | .......return......def.import_py |
1e20 | 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 49 6d 70 6f 72 74 20 50 79 74 68 6f | (self):.........""".Import.Pytho |
1e40 | 6e 20 63 6f 64 65 20 66 72 6f 6d 20 74 68 65 20 4a 6f 75 72 6e 61 6c 20 74 6f 20 6c 6f 61 64 20 | n.code.from.the.Journal.to.load. |
1e60 | 69 6e 74 6f 20 27 6d 79 62 6c 6f 63 6b 27 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 66 72 6f 6d | into.'myblock'..""".........from |
1e80 | 20 73 75 67 61 72 2e 67 72 61 70 68 69 63 73 2e 6f 62 6a 65 63 74 63 68 6f 6f 73 65 72 20 69 6d | .sugar.graphics.objectchooser.im |
1ea0 | 70 6f 72 74 20 4f 62 6a 65 63 74 43 68 6f 6f 73 65 72 0a 20 20 20 20 20 20 20 20 63 68 6f 6f 73 | port.ObjectChooser.........choos |
1ec0 | 65 72 20 3d 20 4f 62 6a 65 63 74 43 68 6f 6f 73 65 72 28 27 50 79 74 68 6f 6e 20 63 6f 64 65 27 | er.=.ObjectChooser('Python.code' |
1ee0 | 2c 20 73 65 6c 66 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.self,......................... |
1f00 | 20 20 20 20 20 20 67 74 6b 2e 44 49 41 4c 4f 47 5f 4d 4f 44 41 4c 20 7c 20 67 74 6b 2e 44 49 41 | ......gtk.DIALOG_MODAL.|.gtk.DIA |
1f20 | 4c 4f 47 5f 44 45 53 54 52 4f 59 5f 57 49 54 48 5f 50 41 52 45 4e 54 29 0a 20 20 20 20 20 20 20 | LOG_DESTROY_WITH_PARENT)........ |
1f40 | 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 63 68 6f 6f 73 | .try:.............result.=.choos |
1f60 | 65 72 2e 72 75 6e 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 72 65 73 75 6c 74 20 3d | er.run().............if.result.= |
1f80 | 3d 20 67 74 6b 2e 52 45 53 50 4f 4e 53 45 5f 41 43 43 45 50 54 3a 0a 20 20 20 20 20 20 20 20 20 | =.gtk.RESPONSE_ACCEPT:.......... |
1fa0 | 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 20 3d 20 63 68 6f 6f 73 65 72 2e 67 65 74 5f 73 65 | .......dsobject.=.chooser.get_se |
1fc0 | 6c 65 63 74 65 64 5f 6f 62 6a 65 63 74 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lected_object()................. |
1fe0 | 73 65 6c 66 2e 5f 6c 6f 61 64 5f 70 79 74 68 6f 6e 28 64 73 6f 62 6a 65 63 74 29 0a 20 20 20 20 | self._load_python(dsobject)..... |
2000 | 20 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 68 6f 6f 73 65 72 | ....finally:.............chooser |
2020 | 2e 64 65 73 74 72 6f 79 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 20 63 68 6f 6f 73 | .destroy().............del.choos |
2040 | 65 72 0a 0a 20 20 20 20 64 65 66 20 5f 6c 6f 61 64 5f 70 79 74 68 6f 6e 28 73 65 6c 66 2c 20 64 | er......def._load_python(self,.d |
2060 | 73 6f 62 6a 65 63 74 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 52 65 61 64 20 74 68 65 20 50 | sobject):.........""".Read.the.P |
2080 | 79 74 68 6f 6e 20 63 6f 64 65 20 66 72 6f 6d 20 74 68 65 20 4a 6f 75 72 6e 61 6c 20 6f 62 6a 65 | ython.code.from.the.Journal.obje |
20a0 | 63 74 20 22 22 22 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ct.""".........try:............. |
20c0 | 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 6f 70 65 6e 69 6e 67 20 25 73 20 22 20 25 20 64 73 | _logger.debug("opening.%s.".%.ds |
20e0 | 6f 62 6a 65 63 74 2e 66 69 6c 65 5f 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 | object.file_path).............fi |
2100 | 6c 65 5f 68 61 6e 64 6c 65 20 3d 20 6f 70 65 6e 28 64 73 6f 62 6a 65 63 74 2e 66 69 6c 65 5f 70 | le_handle.=.open(dsobject.file_p |
2120 | 61 74 68 2c 20 22 72 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 6d 79 | ath,."r").............self.tw.my |
2140 | 62 6c 6f 63 6b 20 3d 20 66 69 6c 65 5f 68 61 6e 64 6c 65 2e 72 65 61 64 28 29 0a 20 20 20 20 20 | block.=.file_handle.read()...... |
2160 | 20 20 20 20 20 20 20 66 69 6c 65 5f 68 61 6e 64 6c 65 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 | .......file_handle.close()...... |
2180 | 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 73 65 74 5f 75 73 65 72 64 65 66 69 6e 65 64 28 29 | .......self.tw.set_userdefined() |
21a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 73 61 76 65 20 72 65 66 65 72 65 6e 63 65 20 74 6f | .............#.save.reference.to |
21c0 | 20 50 79 74 68 69 6e 20 63 6f 64 65 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 6d 65 74 61 | .Pythin.code.in.the.project.meta |
21e0 | 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 65 74 61 64 61 74 61 5b 27 | data.............self.metadata[' |
2200 | 70 79 74 68 6f 6e 20 63 6f 64 65 27 5d 20 3d 20 64 73 6f 62 6a 65 63 74 2e 6f 62 6a 65 63 74 5f | python.code'].=.dsobject.object_ |
2220 | 69 64 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f | id.........except:............._ |
2240 | 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 63 6f 75 6c 64 6e 27 74 20 6f 70 65 6e 20 25 73 22 20 | logger.debug("couldn't.open.%s". |
2260 | 25 20 64 73 6f 62 6a 65 63 74 2e 66 69 6c 65 5f 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 64 73 | %.dsobject.file_path).........ds |
2280 | 6f 62 6a 65 63 74 2e 64 65 73 74 72 6f 79 28 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 73 61 76 | object.destroy()......def.do_sav |
22a0 | 65 5f 61 73 5f 69 6d 61 67 65 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 | e_as_image_cb(self,.button):.... |
22c0 | 20 20 20 20 20 22 22 22 20 53 61 76 65 20 74 68 65 20 63 61 6e 76 61 73 20 74 6f 20 74 68 65 20 | .....""".Save.the.canvas.to.the. |
22e0 | 4a 6f 75 72 6e 61 6c 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 61 | Journal..""".........self.save_a |
2300 | 73 5f 69 6d 61 67 65 2e 73 65 74 5f 69 63 6f 6e 28 22 69 6d 61 67 65 2d 73 61 76 65 6f 6e 22 29 | s_image.set_icon("image-saveon") |
2320 | 0a 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 73 61 76 69 6e 67 20 69 | ........._logger.debug("saving.i |
2340 | 6d 61 67 65 20 74 6f 20 6a 6f 75 72 6e 61 6c 22 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | mage.to.journal")..........self. |
2360 | 74 77 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 65 28 29 0a 20 20 20 20 20 20 20 20 67 6f 62 6a 65 | tw.save_as_image().........gobje |
2380 | 63 74 2e 74 69 6d 65 6f 75 74 5f 61 64 64 28 32 35 30 2c 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 | ct.timeout_add(250,.self.save_as |
23a0 | 5f 69 6d 61 67 65 2e 73 65 74 5f 69 63 6f 6e 2c 20 22 69 6d 61 67 65 2d 73 61 76 65 6f 66 66 22 | _image.set_icon,."image-saveoff" |
23c0 | 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 6b 65 65 | ).........return......def.do_kee |
23e0 | 70 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 | p_cb(self,.button):.........""". |
2400 | 53 61 76 65 20 61 20 73 6e 61 70 73 68 6f 74 20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 74 20 74 | Save.a.snapshot.of.the.project.t |
2420 | 6f 20 74 68 65 20 4a 6f 75 72 6e 61 6c 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 64 61 74 61 70 | o.the.Journal..""".........datap |
2440 | 61 74 68 20 3d 20 67 65 74 5f 70 61 74 68 28 61 63 74 69 76 69 74 79 2c 20 27 69 6e 73 74 61 6e | ath.=.get_path(activity,.'instan |
2460 | 63 65 27 29 0a 20 20 20 20 20 20 20 20 74 61 66 69 6c 65 20 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f | ce').........tafile.=.os.path.jo |
2480 | 69 6e 28 64 61 74 61 70 61 74 68 2c 22 74 6d 70 66 69 6c 65 2e 74 61 22 29 0a 20 20 20 20 20 20 | in(datapath,"tmpfile.ta")....... |
24a0 | 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 5f 74 6f 5f 66 69 6c 65 28 | ..try:.............data_to_file( |
24c0 | 73 65 6c 66 2e 74 77 2e 61 73 73 65 6d 62 6c 65 5f 64 61 74 61 5f 74 6f 5f 73 61 76 65 28 29 2c | self.tw.assemble_data_to_save(), |
24e0 | 20 74 61 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 | .tafile).........except:........ |
2500 | 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 63 6f 75 6c 64 6e 27 74 20 73 61 76 | ....._logger.debug("couldn't.sav |
2520 | 65 20 73 6e 61 70 73 68 6f 74 20 74 6f 20 6a 6f 75 72 6e 61 6c 22 29 0a 0a 20 20 20 20 20 20 20 | e.snapshot.to.journal")......... |
2540 | 20 23 20 43 72 65 61 74 65 20 61 20 64 61 74 61 73 74 6f 72 65 20 6f 62 6a 65 63 74 0a 20 20 20 | .#.Create.a.datastore.object.... |
2560 | 20 20 20 20 20 64 73 6f 62 6a 65 63 74 20 3d 20 64 61 74 61 73 74 6f 72 65 2e 63 72 65 61 74 65 | .....dsobject.=.datastore.create |
2580 | 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 57 72 69 74 65 20 61 6e 79 20 6d 65 74 61 64 61 74 61 | ()..........#.Write.any.metadata |
25a0 | 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 74 69 74 6c | .........dsobject.metadata['titl |
25c0 | 65 27 5d 20 3d 20 73 65 6c 66 2e 6d 65 74 61 64 61 74 61 5b 27 74 69 74 6c 65 27 5d 20 2b 20 22 | e'].=.self.metadata['title'].+." |
25e0 | 20 22 20 2b 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .".+.\.......................... |
2600 | 20 20 20 20 20 20 20 20 20 20 20 20 5f 28 22 73 6e 61 70 73 68 6f 74 22 29 0a 20 20 20 20 20 20 | ............_("snapshot")....... |
2620 | 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 69 63 6f 6e 2d 63 6f 6c 6f 72 27 | ..dsobject.metadata['icon-color' |
2640 | 5d 20 3d 20 70 72 6f 66 69 6c 65 2e 67 65 74 5f 63 6f 6c 6f 72 28 29 2e 74 6f 5f 73 74 72 69 6e | ].=.profile.get_color().to_strin |
2660 | 67 28 29 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 6d | g().........dsobject.metadata['m |
2680 | 69 6d 65 5f 74 79 70 65 27 5d 20 3d 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 74 75 72 74 | ime_type'].=.'application/x-turt |
26a0 | 6c 65 2d 61 72 74 27 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 | le-art'.........dsobject.metadat |
26c0 | 61 5b 27 61 63 74 69 76 69 74 79 27 5d 20 3d 20 27 6f 72 67 2e 6c 61 70 74 6f 70 2e 54 75 72 74 | a['activity'].=.'org.laptop.Turt |
26e0 | 6c 65 41 72 74 41 63 74 69 76 69 74 79 27 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e | leArtActivity'.........dsobject. |
2700 | 73 65 74 5f 66 69 6c 65 5f 70 61 74 68 28 74 61 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 64 61 | set_file_path(tafile).........da |
2720 | 74 61 73 74 6f 72 65 2e 77 72 69 74 65 28 64 73 6f 62 6a 65 63 74 29 0a 0a 20 20 20 20 20 20 20 | tastore.write(dsobject)......... |
2740 | 20 23 20 43 6c 65 61 6e 20 75 70 0a 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 64 65 73 | .#.Clean.up.........dsobject.des |
2760 | 74 72 6f 79 28 29 0a 20 20 20 20 20 20 20 20 6f 73 2e 72 65 6d 6f 76 65 28 74 61 66 69 6c 65 29 | troy().........os.remove(tafile) |
2780 | 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 23 20 4d 61 69 6e 20 74 6f 6f 6c | .........return......#.Main.tool |
27a0 | 62 61 72 20 62 75 74 74 6f 6e 20 63 61 6c 6c 62 61 63 6b 73 20 0a 0a 20 20 20 20 64 65 66 20 64 | bar.button.callbacks.......def.d |
27c0 | 6f 5f 70 61 6c 65 74 74 65 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 | o_palette_cb(self,.button):..... |
27e0 | 20 20 20 20 22 22 22 20 53 68 6f 77 2f 68 69 64 65 20 70 61 6c 65 74 74 65 20 22 22 22 0a 20 20 | ....""".Show/hide.palette."""... |
2800 | 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 74 77 2e 70 61 6c 65 74 74 65 20 3d 3d 20 54 72 75 65 | ......if.self.tw.palette.==.True |
2820 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 68 69 64 65 73 68 6f 77 5f 70 | :.............self.tw.hideshow_p |
2840 | 61 6c 65 74 74 65 28 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 | alette(False).............self.p |
2860 | 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 70 61 6c 65 74 74 65 6f | alette_button.set_icon("paletteo |
2880 | 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 | n").............self.palette_but |
28a0 | 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 53 68 6f 77 20 70 61 6c 65 74 74 65 27 | ton.set_tooltip(_('Show.palette' |
28c0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 6e 65 77 5f 73 75 67 61 72 | )).............if.self.new_sugar |
28e0 | 5f 73 79 73 74 65 6d 20 61 6e 64 20 73 65 6c 66 2e 74 77 2e 73 65 6c 65 63 74 65 64 5f 70 61 6c | _system.and.self.tw.selected_pal |
2900 | 65 74 74 65 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ette.is.not.None:............... |
2920 | 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5b 73 65 6c 66 2e 74 77 2e 73 | ..self.palette_buttons[self.tw.s |
2940 | 65 6c 65 63 74 65 64 5f 70 61 6c 65 74 74 65 5d 2e 73 65 74 5f 69 63 6f 6e 28 0a 20 20 20 20 20 | elected_palette].set_icon(...... |
2960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 41 4c 45 54 54 45 5f 4e 41 4d 45 53 5b 73 65 6c | ...............PALETTE_NAMES[sel |
2980 | 66 2e 74 77 2e 73 65 6c 65 63 74 65 64 5f 70 61 6c 65 74 74 65 5d 2b 27 6f 66 66 27 29 0a 20 20 | f.tw.selected_palette]+'off')... |
29a0 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e | ......else:.............self.tw. |
29c0 | 68 69 64 65 73 68 6f 77 5f 70 61 6c 65 74 74 65 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 20 | hideshow_palette(True).......... |
29e0 | 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 | ...self.palette_button.set_icon( |
2a00 | 22 70 61 6c 65 74 74 65 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 | "paletteoff").............self.p |
2a20 | 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 48 69 64 | alette_button.set_tooltip(_('Hid |
2a40 | 65 20 70 61 6c 65 74 74 65 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 | e.palette')).............if.self |
2a60 | 2e 6e 65 77 5f 73 75 67 61 72 5f 73 79 73 74 65 6d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .new_sugar_system:.............. |
2a80 | 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5b 30 5d 2e 73 65 74 5f 69 | ...self.palette_buttons[0].set_i |
2aa0 | 63 6f 6e 28 50 41 4c 45 54 54 45 5f 4e 41 4d 45 53 5b 30 5d 2b 27 6f 6e 27 29 0a 0a 20 20 20 20 | con(PALETTE_NAMES[0]+'on')...... |
2ac0 | 64 65 66 20 64 6f 5f 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5f 63 62 28 73 65 6c 66 2c 20 | def.do_palette_buttons_cb(self,. |
2ae0 | 62 75 74 74 6f 6e 2c 20 69 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 50 61 6c 65 74 74 65 20 | button,.i):.........""".Palette. |
2b00 | 73 65 6c 65 63 74 6f 72 20 62 75 74 74 6f 6e 73 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 | selector.buttons.""".........if. |
2b20 | 73 65 6c 66 2e 74 77 2e 73 65 6c 65 63 74 65 64 5f 70 61 6c 65 74 74 65 20 69 73 20 6e 6f 74 20 | self.tw.selected_palette.is.not. |
2b40 | 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 74 77 2e 73 65 6c | None:.............if.self.tw.sel |
2b60 | 65 63 74 65 64 5f 70 61 6c 65 74 74 65 20 21 3d 20 69 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ected_palette.!=.i:............. |
2b80 | 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5b 73 65 6c 66 2e 74 77 | ....self.palette_buttons[self.tw |
2ba0 | 2e 73 65 6c 65 63 74 65 64 5f 70 61 6c 65 74 74 65 5d 2e 73 65 74 5f 69 63 6f 6e 28 0a 20 20 20 | .selected_palette].set_icon(.... |
2bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 41 4c 45 54 54 45 5f 4e 41 4d 45 53 5b 73 | .................PALETTE_NAMES[s |
2be0 | 65 6c 66 2e 74 77 2e 73 65 6c 65 63 74 65 64 5f 70 61 6c 65 74 74 65 5d 2b 27 6f 66 66 27 29 0a | elf.tw.selected_palette]+'off'). |
2c00 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5b 69 5d 2e | ........self.palette_buttons[i]. |
2c20 | 73 65 74 5f 69 63 6f 6e 28 50 41 4c 45 54 54 45 5f 4e 41 4d 45 53 5b 69 5d 2b 27 6f 6e 27 29 0a | set_icon(PALETTE_NAMES[i]+'on'). |
2c40 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 73 68 6f 77 5f 70 61 6c 65 74 74 65 28 69 29 0a | ........self.tw.show_palette(i). |
2c60 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f | ........self.palette_button.set_ |
2c80 | 69 63 6f 6e 28 22 70 61 6c 65 74 74 65 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | icon("paletteoff").........self. |
2ca0 | 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 48 69 | palette_button.set_tooltip(_('Hi |
2cc0 | 64 65 20 70 61 6c 65 74 74 65 27 29 29 0a 0a 20 20 20 20 23 20 54 68 65 73 65 20 6d 65 74 68 6f | de.palette'))......#.These.metho |
2ce0 | 64 73 20 61 72 65 20 63 61 6c 6c 65 64 20 62 6f 74 68 20 66 72 6f 6d 20 62 75 74 74 6f 6e 73 20 | ds.are.called.both.from.buttons. |
2d00 | 61 6e 64 20 70 61 6c 65 74 74 65 2e 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 68 69 64 65 70 61 6c | and.palette.......def.do_hidepal |
2d20 | 65 74 74 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 48 69 64 65 20 74 68 65 | ette(self):.........""".Hide.the |
2d40 | 20 70 61 6c 65 74 74 65 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 | .palette..""".........self.palet |
2d60 | 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 70 61 6c 65 74 74 65 6f 6e 22 29 0a | te_button.set_icon("paletteon"). |
2d80 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f | ........self.palette_button.set_ |
2da0 | 74 6f 6f 6c 74 69 70 28 5f 28 27 53 68 6f 77 20 70 61 6c 65 74 74 65 27 29 29 0a 0a 20 20 20 20 | tooltip(_('Show.palette'))...... |
2dc0 | 64 65 66 20 64 6f 5f 73 68 6f 77 70 61 6c 65 74 74 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 | def.do_showpalette(self):....... |
2de0 | 20 20 22 22 22 20 53 68 6f 77 20 74 68 65 20 70 61 6c 65 74 74 65 2e 20 22 22 22 0a 20 20 20 20 | ..""".Show.the.palette.."""..... |
2e00 | 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e | ....self.palette_button.set_icon |
2e20 | 28 22 70 61 6c 65 74 74 65 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 | ("paletteoff").........self.pale |
2e40 | 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 48 69 64 65 20 70 | tte_button.set_tooltip(_('Hide.p |
2e60 | 61 6c 65 74 74 65 27 29 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 68 69 64 65 73 68 6f 77 5f 63 | alette'))......def.do_hideshow_c |
2e80 | 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 54 6f 67 | b(self,.button):.........""".Tog |
2ea0 | 67 6c 65 20 76 69 73 69 62 69 6c 69 74 79 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | gle.visibility..""".........self |
2ec0 | 2e 74 77 2e 68 69 64 65 73 68 6f 77 5f 62 75 74 74 6f 6e 28 29 0a 20 20 20 20 20 20 20 20 69 66 | .tw.hideshow_button().........if |
2ee0 | 20 73 65 6c 66 2e 74 77 2e 68 69 64 65 20 3d 3d 20 54 72 75 65 3a 20 23 20 77 65 20 6a 75 73 74 | .self.tw.hide.==.True:.#.we.just |
2f00 | 20 68 69 64 20 74 68 65 20 62 6c 6f 63 6b 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | .hid.the.blocks.............self |
2f20 | 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 68 69 64 65 73 68 6f | .blocks_button.set_icon("hidesho |
2f40 | 77 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 6c 6f 63 6b 73 5f 62 75 | won").............self.blocks_bu |
2f60 | 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 53 68 6f 77 20 62 6c 6f 63 6b 73 27 | tton.set_tooltip(_('Show.blocks' |
2f80 | 29 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | )).........else:.............sel |
2fa0 | 66 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 68 69 64 65 73 68 | f.blocks_button.set_icon("hidesh |
2fc0 | 6f 77 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 6c 6f 63 6b 73 5f | owoff").............self.blocks_ |
2fe0 | 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 48 69 64 65 20 62 6c 6f 63 6b | button.set_tooltip(_('Hide.block |
3000 | 73 27 29 29 0a 20 20 20 20 20 20 20 20 23 20 75 70 64 61 74 65 20 70 61 6c 65 74 74 65 20 62 75 | s')).........#.update.palette.bu |
3020 | 74 74 6f 6e 73 20 74 6f 6f 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 74 77 2e 70 61 6c | ttons.too.........if.self.tw.pal |
3040 | 65 74 74 65 20 3d 3d 20 46 61 6c 73 65 3a 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | ette.==.False:..............self |
3060 | 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 70 61 6c 65 74 74 | .palette_button.set_icon("palett |
3080 | 65 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 | eon").............self.palette_b |
30a0 | 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 53 68 6f 77 20 70 61 6c 65 74 74 | utton.set_tooltip(_('Show.palett |
30c0 | 65 27 29 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | e')).........else:.............s |
30e0 | 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 70 61 6c | elf.palette_button.set_icon("pal |
3100 | 65 74 74 65 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 | etteoff").............self.palet |
3120 | 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 48 69 64 65 20 70 61 | te_button.set_tooltip(_('Hide.pa |
3140 | 6c 65 74 74 65 27 29 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 68 69 64 65 28 73 65 6c 66 29 3a | lette'))......def.do_hide(self): |
3160 | 0a 20 20 20 20 20 20 20 20 22 22 22 20 48 69 64 65 20 62 6c 6f 63 6b 73 2e 20 22 22 22 0a 20 20 | .........""".Hide.blocks.."""... |
3180 | 20 20 20 20 20 20 73 65 6c 66 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f | ......self.blocks_button.set_ico |
31a0 | 6e 28 22 68 69 64 65 73 68 6f 77 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 6c 6f | n("hideshowon").........self.blo |
31c0 | 63 6b 73 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 53 68 6f 77 20 62 | cks_button.set_tooltip(_('Show.b |
31e0 | 6c 6f 63 6b 73 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 | locks')).........self.palette_bu |
3200 | 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 70 61 6c 65 74 74 65 6f 6e 22 29 0a 20 20 20 20 20 | tton.set_icon("paletteon")...... |
3220 | 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 | ...self.palette_button.set_toolt |
3240 | 69 70 28 5f 28 27 53 68 6f 77 20 70 61 6c 65 74 74 65 27 29 29 0a 0a 20 20 20 20 64 65 66 20 64 | ip(_('Show.palette'))......def.d |
3260 | 6f 5f 73 68 6f 77 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 53 68 6f 77 20 62 | o_show(self):.........""".Show.b |
3280 | 6c 6f 63 6b 73 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 6c 6f 63 6b 73 5f 62 | locks..""".........self.blocks_b |
32a0 | 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 68 69 64 65 73 68 6f 77 6f 66 66 22 29 0a 20 20 | utton.set_icon("hideshowoff")... |
32c0 | 20 20 20 20 20 20 73 65 6c 66 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f | ......self.blocks_button.set_too |
32e0 | 6c 74 69 70 28 5f 28 27 48 69 64 65 20 62 6c 6f 63 6b 73 27 29 29 0a 20 20 20 20 20 20 20 20 73 | ltip(_('Hide.blocks')).........s |
3300 | 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 70 61 6c | elf.palette_button.set_icon("pal |
3320 | 65 74 74 65 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 | etteoff").........self.palette_b |
3340 | 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 48 69 64 65 20 70 61 6c 65 74 74 | utton.set_tooltip(_('Hide.palett |
3360 | 65 27 29 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 65 72 61 73 65 72 5f 63 62 28 73 65 6c 66 2c | e'))......def.do_eraser_cb(self, |
3380 | 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 43 6c 65 61 72 20 74 68 65 20 | .button):.........""".Clear.the. |
33a0 | 73 63 72 65 65 6e 20 61 6e 64 20 72 65 63 65 6e 74 65 72 2e 20 22 22 22 0a 20 20 20 20 20 20 20 | screen.and.recenter.."""........ |
33c0 | 20 73 65 6c 66 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 65 72 | .self.eraser_button.set_icon("er |
33e0 | 61 73 65 72 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 63 65 6e 74 65 72 28 | aseroff").........self.recenter( |
3400 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 28 | ).........self.tw.eraser_button( |
3420 | 29 0a 20 20 20 20 20 20 20 20 67 6f 62 6a 65 63 74 2e 74 69 6d 65 6f 75 74 5f 61 64 64 28 32 35 | ).........gobject.timeout_add(25 |
3440 | 30 2c 20 73 65 6c 66 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 2c 20 | 0,.self.eraser_button.set_icon,. |
3460 | 22 65 72 61 73 65 72 6f 6e 22 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 72 75 6e 5f 63 62 28 73 | "eraseron")......def.do_run_cb(s |
3480 | 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 43 61 6c 6c 62 61 | elf,.button):.........""".Callba |
34a0 | 63 6b 20 66 6f 72 20 72 75 6e 20 62 75 74 74 6f 6e 20 28 72 61 62 62 69 74 29 2e 20 22 22 22 0a | ck.for.run.button.(rabbit)..""". |
34c0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 75 6e 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e | ........self.run_button.set_icon |
34e0 | 28 22 72 75 6e 2d 66 61 73 74 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 6c | ("run-faston").........self.tw.l |
3500 | 63 2e 74 72 61 63 65 20 3d 20 30 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 72 75 6e 5f | c.trace.=.0.........self.tw.run_ |
3520 | 62 75 74 74 6f 6e 28 30 29 0a 20 20 20 20 20 20 20 20 67 6f 62 6a 65 63 74 2e 74 69 6d 65 6f 75 | button(0).........gobject.timeou |
3540 | 74 5f 61 64 64 28 31 30 30 30 2c 20 73 65 6c 66 2e 72 75 6e 5f 62 75 74 74 6f 6e 2e 73 65 74 5f | t_add(1000,.self.run_button.set_ |
3560 | 69 63 6f 6e 2c 20 22 72 75 6e 2d 66 61 73 74 6f 66 66 22 29 0a 0a 20 20 20 20 64 65 66 20 64 6f | icon,."run-fastoff")......def.do |
3580 | 5f 73 74 65 70 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 | _step_cb(self,.button):......... |
35a0 | 22 22 22 20 43 61 6c 6c 62 61 63 6b 20 66 6f 72 20 73 74 65 70 20 62 75 74 74 6f 6e 20 28 74 75 | """.Callback.for.step.button.(tu |
35c0 | 72 74 6c 65 29 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 65 70 5f 62 75 74 | rtle)..""".........self.step_but |
35e0 | 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 72 75 6e 2d 73 6c 6f 77 6f 6e 22 29 0a 20 20 20 20 20 | ton.set_icon("run-slowon")...... |
3600 | 20 20 20 73 65 6c 66 2e 74 77 2e 6c 63 2e 74 72 61 63 65 20 3d 20 30 0a 20 20 20 20 20 20 20 20 | ...self.tw.lc.trace.=.0......... |
3620 | 73 65 6c 66 2e 74 77 2e 72 75 6e 5f 62 75 74 74 6f 6e 28 33 29 0a 20 20 20 20 20 20 20 20 67 6f | self.tw.run_button(3).........go |
3640 | 62 6a 65 63 74 2e 74 69 6d 65 6f 75 74 5f 61 64 64 28 31 30 30 30 2c 20 73 65 6c 66 2e 73 74 65 | bject.timeout_add(1000,.self.ste |
3660 | 70 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 2c 20 22 72 75 6e 2d 73 6c 6f 77 6f 66 66 22 | p_button.set_icon,."run-slowoff" |
3680 | 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 64 65 62 75 67 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 | )......def.do_debug_cb(self,.but |
36a0 | 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 43 61 6c 6c 62 61 63 6b 20 66 6f 72 20 64 | ton):.........""".Callback.for.d |
36c0 | 65 62 75 67 20 62 75 74 74 6f 6e 20 28 62 75 67 29 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 | ebug.button.(bug)..""".........s |
36e0 | 65 6c 66 2e 64 65 62 75 67 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 64 65 62 75 67 | elf.debug_button.set_icon("debug |
3700 | 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 6c 63 2e 74 72 61 63 65 20 3d 20 | on").........self.tw.lc.trace.=. |
3720 | 31 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 72 75 6e 5f 62 75 74 74 6f 6e 28 36 29 0a | 1.........self.tw.run_button(6). |
3740 | 20 20 20 20 20 20 20 20 67 6f 62 6a 65 63 74 2e 74 69 6d 65 6f 75 74 5f 61 64 64 28 31 30 30 30 | ........gobject.timeout_add(1000 |
3760 | 2c 20 73 65 6c 66 2e 64 65 62 75 67 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 2c 20 22 64 | ,.self.debug_button.set_icon,."d |
3780 | 65 62 75 67 6f 66 66 22 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 73 74 6f 70 5f 63 62 28 73 65 | ebugoff")......def.do_stop_cb(se |
37a0 | 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 43 61 6c 6c 62 61 63 | lf,.button):.........""".Callbac |
37c0 | 6b 20 66 6f 72 20 73 74 6f 70 20 62 75 74 74 6f 6e 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 | k.for.stop.button..""".........s |
37e0 | 65 6c 66 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 73 74 6f 70 69 74 | elf.stop_button.set_icon("stopit |
3800 | 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 73 74 6f 70 5f 62 75 74 74 6f | off").........self.tw.stop_butto |
3820 | 6e 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 65 70 5f 62 75 74 74 6f 6e 2e 73 65 74 | n().........self.step_button.set |
3840 | 5f 69 63 6f 6e 28 22 72 75 6e 2d 73 6c 6f 77 6f 66 66 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c | _icon("run-slowoff").........sel |
3860 | 66 2e 72 75 6e 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 72 75 6e 2d 66 61 73 74 6f | f.run_button.set_icon("run-fasto |
3880 | 66 66 22 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 73 61 6d 70 6c 65 73 5f 63 62 28 73 65 6c 66 | ff")......def.do_samples_cb(self |
38a0 | 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 53 61 6d 70 6c 65 20 70 72 | ,.button):.........""".Sample.pr |
38c0 | 6f 6a 65 63 74 73 20 6f 70 65 6e 20 64 69 61 6c 6f 67 20 22 22 22 0a 20 20 20 20 20 20 20 20 23 | ojects.open.dialog.""".........# |
38e0 | 20 46 49 58 4d 45 3a 20 65 6e 63 61 70 73 75 6c 61 74 69 6f 6e 21 0a 20 20 20 20 20 20 20 20 73 | .FIXME:.encapsulation!.........s |
3900 | 65 6c 66 2e 74 77 2e 6c 6f 61 64 5f 66 69 6c 65 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 23 | elf.tw.load_file(True).........# |
3920 | 20 72 75 6e 20 74 68 65 20 61 63 74 69 76 69 74 79 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 | .run.the.activity.........self.s |
3940 | 74 6f 70 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 73 74 6f 70 69 74 6f 6e 22 29 0a | top_button.set_icon("stopiton"). |
3960 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 72 75 6e 5f 62 75 74 74 6f 6e 28 30 29 0a 0a 20 | ........self.tw.run_button(0)... |
3980 | 20 20 20 64 65 66 20 72 65 63 65 6e 74 65 72 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 | ...def.recenter(self):........." |
39a0 | 22 22 20 52 65 63 65 6e 74 65 72 20 73 63 72 6f 6c 6c 65 64 20 77 69 6e 64 6f 77 20 61 72 6f 75 | "".Recenter.scrolled.window.arou |
39c0 | 6e 64 20 63 61 6e 76 61 73 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 68 61 64 6a 20 3d 20 73 65 | nd.canvas..""".........hadj.=.se |
39e0 | 6c 66 2e 73 77 2e 67 65 74 5f 68 61 64 6a 75 73 74 6d 65 6e 74 28 29 0a 20 20 20 20 20 20 20 20 | lf.sw.get_hadjustment()......... |
3a00 | 68 61 64 6a 2e 73 65 74 5f 76 61 6c 75 65 28 30 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 | hadj.set_value(0).........self.s |
3a20 | 77 2e 73 65 74 5f 68 61 64 6a 75 73 74 6d 65 6e 74 28 68 61 64 6a 29 0a 20 20 20 20 20 20 20 20 | w.set_hadjustment(hadj)......... |
3a40 | 76 61 64 6a 20 3d 20 73 65 6c 66 2e 73 77 2e 67 65 74 5f 76 61 64 6a 75 73 74 6d 65 6e 74 28 29 | vadj.=.self.sw.get_vadjustment() |
3a60 | 0a 20 20 20 20 20 20 20 20 76 61 64 6a 2e 73 65 74 5f 76 61 6c 75 65 28 30 29 0a 20 20 20 20 20 | .........vadj.set_value(0)...... |
3a80 | 20 20 20 73 65 6c 66 2e 73 77 2e 73 65 74 5f 76 61 64 6a 75 73 74 6d 65 6e 74 28 76 61 64 6a 29 | ...self.sw.set_vadjustment(vadj) |
3aa0 | 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 66 75 6c 6c 73 63 72 65 65 6e 5f 63 62 28 73 65 6c 66 2c | ......def.do_fullscreen_cb(self, |
3ac0 | 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 48 69 64 65 20 74 68 65 20 53 | .button):.........""".Hide.the.S |
3ae0 | 75 67 61 72 20 74 6f 6f 6c 62 61 72 73 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | ugar.toolbars..""".........self. |
3b00 | 66 75 6c 6c 73 63 72 65 65 6e 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 63 65 6e 74 | fullscreen().........self.recent |
3b20 | 65 72 28 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 72 65 73 69 7a 65 5f 62 6c 6f 63 6b 73 5f 63 | er()......def.do_resize_blocks_c |
3b40 | 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 2c 20 73 63 61 6c 65 5f 66 61 63 74 6f 72 29 3a 0a 20 | b(self,.button,.scale_factor):.. |
3b60 | 20 20 20 20 20 20 20 22 22 22 20 53 63 61 6c 65 20 74 68 65 20 62 6c 6f 63 6b 73 2e 20 22 22 22 | .......""".Scale.the.blocks..""" |
3b80 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 62 6c 6f 63 6b 5f 73 63 61 6c 65 20 2a 3d 20 | .........self.tw.block_scale.*=. |
3ba0 | 73 63 61 6c 65 5f 66 61 63 74 6f 72 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 72 65 73 | scale_factor.........self.tw.res |
3bc0 | 69 7a 65 5f 62 6c 6f 63 6b 73 28 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 63 61 72 74 65 73 69 | ize_blocks()......def.do_cartesi |
3be0 | 61 6e 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 | an_cb(self,.button):.........""" |
3c00 | 20 44 69 73 70 6c 61 79 20 43 61 72 74 65 73 69 61 6e 20 63 6f 6f 72 64 69 6e 61 74 65 20 67 72 | .Display.Cartesian.coordinate.gr |
3c20 | 69 64 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 74 77 2e 63 61 72 74 65 | id..""".........if.self.tw.carte |
3c40 | 73 69 61 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 73 65 74 5f 63 61 | sian:.............self.tw.set_ca |
3c60 | 72 74 65 73 69 61 6e 28 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 | rtesian(False).........else:.... |
3c80 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 73 65 74 5f 63 61 72 74 65 73 69 61 6e 28 54 | .........self.tw.set_cartesian(T |
3ca0 | 72 75 65 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 70 6f 6c 61 72 5f 63 62 28 73 65 6c 66 2c 20 | rue)......def.do_polar_cb(self,. |
3cc0 | 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 44 69 73 70 6c 61 79 20 50 6f 6c | button):.........""".Display.Pol |
3ce0 | 61 72 20 63 6f 6f 72 64 69 6e 61 74 65 20 67 72 69 64 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 | ar.coordinate.grid.."""......... |
3d00 | 69 66 20 73 65 6c 66 2e 74 77 2e 70 6f 6c 61 72 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | if.self.tw.polar:.............se |
3d20 | 6c 66 2e 74 77 2e 73 65 74 5f 70 6f 6c 61 72 28 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 65 | lf.tw.set_polar(False).........e |
3d40 | 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 73 65 74 5f 70 6f 6c | lse:.............self.tw.set_pol |
3d60 | 61 72 28 54 72 75 65 29 0a 0a 20 20 20 20 64 65 66 20 64 6f 5f 72 65 73 63 61 6c 65 5f 63 62 28 | ar(True)......def.do_rescale_cb( |
3d80 | 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 52 65 73 63 61 | self,.button):.........""".Resca |
3da0 | 6c 65 20 63 6f 6f 72 64 69 6e 61 74 65 20 73 79 73 74 65 6d 20 28 31 30 30 3d 3d 68 65 69 67 68 | le.coordinate.system.(100==heigh |
3dc0 | 74 2f 32 20 6f 72 20 31 30 30 20 70 69 78 65 6c 73 29 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 | t/2.or.100.pixels).."""......... |
3de0 | 69 66 20 73 65 6c 66 2e 74 77 2e 63 6f 6f 72 64 5f 73 63 61 6c 65 20 3d 3d 20 31 3a 0a 20 20 20 | if.self.tw.coord_scale.==.1:.... |
3e00 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 6f 6f 72 64 5f 73 63 61 6c 65 20 3d 20 73 | .........self.tw.coord_scale.=.s |
3e20 | 65 6c 66 2e 74 77 2e 68 65 69 67 68 74 2f 32 30 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | elf.tw.height/200.............se |
3e40 | 6c 66 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 63 6f 6e 74 | lf.rescale_button.set_icon("cont |
3e60 | 72 61 63 74 2d 63 6f 6f 72 64 69 6e 61 74 65 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | ract-coordinates").............s |
3e80 | 65 6c 66 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f | elf.rescale_button.set_tooltip(_ |
3ea0 | 28 27 52 65 73 63 61 6c 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 64 6f 77 6e 27 29 29 0a 20 20 | ('Rescale.coordinates.down'))... |
3ec0 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 28 | ..........self.tw.eraser_button( |
3ee0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 74 77 2e 63 61 72 74 65 73 69 | ).............if.self.tw.cartesi |
3f00 | 61 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 6f 76 65 72 | an:.................self.tw.over |
3f20 | 6c 61 79 5f 73 68 61 70 65 73 5b 27 43 61 72 74 65 73 69 61 6e 5f 6c 61 62 65 6c 65 64 27 5d 2e | lay_shapes['Cartesian_labeled']. |
3f40 | 68 69 64 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 6f | hide().................self.tw.o |
3f60 | 76 65 72 6c 61 79 5f 73 68 61 70 65 73 5b 27 43 61 72 74 65 73 69 61 6e 27 5d 2e 73 65 74 5f 6c | verlay_shapes['Cartesian'].set_l |
3f80 | 61 79 65 72 28 4f 56 45 52 4c 41 59 5f 4c 41 59 45 52 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 | ayer(OVERLAY_LAYER).........else |
3fa0 | 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 6f 6f 72 64 5f 73 63 61 6c | :.............self.tw.coord_scal |
3fc0 | 65 20 3d 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 63 61 6c 65 5f 62 | e.=.1.............self.rescale_b |
3fe0 | 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 65 78 70 61 6e 64 2d 63 6f 6f 72 64 69 6e 61 74 | utton.set_icon("expand-coordinat |
4000 | 65 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 63 61 6c 65 5f 62 75 | es").............self.rescale_bu |
4020 | 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 52 65 73 63 61 6c 65 20 63 6f 6f 72 | tton.set_tooltip(_('Rescale.coor |
4040 | 64 69 6e 61 74 65 73 20 75 70 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 | dinates.up')).............self.t |
4060 | 77 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | w.eraser_button().............if |
4080 | 20 73 65 6c 66 2e 74 77 2e 63 61 72 74 65 73 69 61 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .self.tw.cartesian:............. |
40a0 | 20 20 20 20 73 65 6c 66 2e 74 77 2e 6f 76 65 72 6c 61 79 5f 73 68 61 70 65 73 5b 27 43 61 72 74 | ....self.tw.overlay_shapes['Cart |
40c0 | 65 73 69 61 6e 27 5d 2e 68 69 64 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | esian'].hide().................s |
40e0 | 65 6c 66 2e 74 77 2e 6f 76 65 72 6c 61 79 5f 73 68 61 70 65 73 5b 27 43 61 72 74 65 73 69 61 6e | elf.tw.overlay_shapes['Cartesian |
4100 | 5f 6c 61 62 65 6c 65 64 27 5d 2e 73 65 74 5f 6c 61 79 65 72 28 0a 20 20 20 20 20 20 20 20 20 20 | _labeled'].set_layer(........... |
4120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
4140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 56 45 52 4c 41 59 5f 4c 41 59 45 | ....................OVERLAY_LAYE |
4160 | 52 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 64 6f 63 75 6d 65 6e 74 5f 70 61 74 68 28 73 65 | R)......def.get_document_path(se |
4180 | 6c 66 2c 20 61 73 79 6e 63 5f 63 62 2c 20 61 73 79 6e 63 5f 65 72 72 5f 63 62 29 3a 0a 20 20 20 | lf,.async_cb,.async_err_cb):.... |
41a0 | 20 20 20 20 20 22 22 22 20 20 56 69 65 77 20 4c 6f 67 6f 20 63 6f 64 65 20 61 73 20 70 61 72 74 | ....."""..View.Logo.code.as.part |
41c0 | 20 6f 66 20 76 69 65 77 20 73 6f 75 72 63 65 2e 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 6c 6f | .of.view.source...""".........lo |
41e0 | 67 6f 5f 63 6f 64 65 5f 70 61 74 68 20 3d 20 73 65 6c 66 2e 5f 64 75 6d 70 5f 6c 6f 67 6f 5f 63 | go_code_path.=.self._dump_logo_c |
4200 | 6f 64 65 28 29 0a 20 20 20 20 20 20 20 20 61 73 79 6e 63 5f 63 62 28 6c 6f 67 6f 5f 63 6f 64 65 | ode().........async_cb(logo_code |
4220 | 5f 70 61 74 68 29 0a 0a 20 20 20 20 64 65 66 20 5f 64 75 6d 70 5f 6c 6f 67 6f 5f 63 6f 64 65 28 | _path)......def._dump_logo_code( |
4240 | 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 20 53 61 76 65 20 4c 6f 67 6f 20 63 6f | self):........."""..Save.Logo.co |
4260 | 64 65 20 74 6f 20 4a 6f 75 72 6e 61 6c 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 64 61 74 61 70 | de.to.Journal..""".........datap |
4280 | 61 74 68 20 3d 20 67 65 74 5f 70 61 74 68 28 61 63 74 69 76 69 74 79 2c 20 27 69 6e 73 74 61 6e | ath.=.get_path(activity,.'instan |
42a0 | 63 65 27 29 0a 20 20 20 20 20 20 20 20 74 61 66 69 6c 65 20 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f | ce').........tafile.=.os.path.jo |
42c0 | 69 6e 28 64 61 74 61 70 61 74 68 2c 22 74 6d 70 66 69 6c 65 2e 74 61 22 29 0a 20 20 20 20 20 20 | in(datapath,"tmpfile.ta")....... |
42e0 | 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 64 65 20 3d 20 73 61 76 65 5f 6c | ..try:.............code.=.save_l |
4300 | 6f 67 6f 28 73 65 6c 66 2e 74 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 20 3d 20 66 69 6c | ogo(self.tw).............f.=.fil |
4320 | 65 28 74 61 66 69 6c 65 2c 20 22 77 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 2e 77 72 69 | e(tafile,."w").............f.wri |
4340 | 74 65 28 63 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 2e 63 6c 6f 73 65 28 29 0a 20 | te(code).............f.close().. |
4360 | 20 20 20 20 20 20 20 65 78 63 65 70 74 20 45 78 63 65 70 74 69 6f 6e 2c 20 65 3a 0a 20 20 20 20 | .......except.Exception,.e:..... |
4380 | 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 65 72 72 6f 72 28 22 43 6f 75 6c 64 6e 27 74 20 | ........_logger.error("Couldn't. |
43a0 | 64 75 6d 70 20 63 6f 64 65 20 74 6f 20 76 69 65 77 20 73 6f 75 72 63 65 3a 20 22 20 2b 20 73 74 | dump.code.to.view.source:.".+.st |
43c0 | 72 28 65 29 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 61 66 69 6c 65 0a 0a 20 20 20 | r(e)).........return.tafile..... |
43e0 | 20 23 20 53 68 61 72 69 6e 67 2d 72 65 6c 61 74 65 64 20 63 61 6c 6c 62 61 63 6b 73 0a 0a 20 20 | .#.Sharing-related.callbacks.... |
4400 | 20 20 64 65 66 20 5f 73 68 61 72 65 64 5f 63 62 28 73 65 6c 66 2c 20 61 63 74 69 76 69 74 79 29 | ..def._shared_cb(self,.activity) |
4420 | 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 45 69 74 68 65 72 20 73 65 74 20 75 70 20 69 6e 69 74 | :.........""".Either.set.up.init |
4440 | 69 61 6c 20 73 68 61 72 65 2e 2e 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 | ial.share....""".........if.self |
4460 | 2e 5f 73 68 61 72 65 64 5f 61 63 74 69 76 69 74 79 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 | ._shared_activity.is.None:...... |
4480 | 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 65 72 72 6f 72 28 22 46 61 69 6c 65 64 20 74 6f 20 | ......._logger.error("Failed.to. |
44a0 | 73 68 61 72 65 20 6f 72 20 6a 6f 69 6e 20 61 63 74 69 76 69 74 79 20 2e 2e 2e 20 5c 0a 20 20 20 | share.or.join.activity.....\.... |
44c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 73 68 61 72 65 64 5f 61 63 74 69 76 69 74 79 20 69 73 | ............._shared_activity.is |
44e0 | 20 6e 75 6c 6c 20 69 6e 20 5f 73 68 61 72 65 64 5f 63 62 28 29 22 29 0a 20 20 20 20 20 20 20 20 | .null.in._shared_cb()")......... |
4500 | 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 69 74 69 61 74 | ....return..........self.initiat |
4520 | 69 6e 67 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 77 61 69 74 69 6e 67 5f | ing.=.True.........self.waiting_ |
4540 | 66 6f 72 5f 74 75 72 74 6c 65 73 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | for_turtles.=.False.........self |
4560 | 2e 74 75 72 74 6c 65 5f 64 69 63 74 69 6f 6e 61 72 79 20 3d 20 5c 0a 20 20 20 20 20 20 20 20 20 | .turtle_dictionary.=.\.......... |
4580 | 20 20 20 7b 70 72 6f 66 69 6c 65 2e 67 65 74 5f 6e 69 63 6b 5f 6e 61 6d 65 28 29 3a 70 72 6f 66 | ...{profile.get_nick_name():prof |
45a0 | 69 6c 65 2e 67 65 74 5f 63 6f 6c 6f 72 28 29 2e 74 6f 5f 73 74 72 69 6e 67 28 29 7d 0a 20 20 20 | ile.get_color().to_string()}.... |
45c0 | 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27 49 20 61 6d 20 73 68 61 72 69 6e 67 | ....._logger.debug('I.am.sharing |
45e0 | 2e 2e 2e 27 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6e 6e 20 3d 20 73 65 6c 66 2e | ...')..........self.conn.=.self. |
4600 | 5f 73 68 61 72 65 64 5f 61 63 74 69 76 69 74 79 2e 74 65 6c 65 70 61 74 68 79 5f 63 6f 6e 6e 0a | _shared_activity.telepathy_conn. |
4620 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 75 62 65 73 5f 63 68 61 6e 20 3d 20 73 65 6c 66 2e 5f | ........self.tubes_chan.=.self._ |
4640 | 73 68 61 72 65 64 5f 61 63 74 69 76 69 74 79 2e 74 65 6c 65 70 61 74 68 79 5f 74 75 62 65 73 5f | shared_activity.telepathy_tubes_ |
4660 | 63 68 61 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 65 78 74 5f 63 68 61 6e 20 3d 20 73 65 | chan.........self.text_chan.=.se |
4680 | 6c 66 2e 5f 73 68 61 72 65 64 5f 61 63 74 69 76 69 74 79 2e 74 65 6c 65 70 61 74 68 79 5f 74 65 | lf._shared_activity.telepathy_te |
46a0 | 78 74 5f 63 68 61 6e 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 23 20 63 61 6c 6c 20 | xt_chan..................#.call. |
46c0 | 62 61 63 6b 20 66 6f 72 20 22 4e 65 77 54 75 62 65 22 20 73 69 67 6e 61 6c 0a 20 20 20 20 20 20 | back.for."NewTube".signal....... |
46e0 | 20 20 73 65 6c 66 2e 74 75 62 65 73 5f 63 68 61 6e 5b 74 65 6c 65 70 61 74 68 79 2e 43 48 41 4e | ..self.tubes_chan[telepathy.CHAN |
4700 | 4e 45 4c 5f 54 59 50 45 5f 54 55 42 45 53 5d 2e 63 6f 6e 6e 65 63 74 5f 74 6f 5f 73 69 67 6e 61 | NEL_TYPE_TUBES].connect_to_signa |
4720 | 6c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 27 4e 65 77 54 75 62 65 27 2c 20 73 65 6c 66 | l.\.............('NewTube',.self |
4740 | 2e 5f 6e 65 77 5f 74 75 62 65 5f 63 62 29 0a 0a 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e | ._new_tube_cb).........._logger. |
4760 | 64 65 62 75 67 28 27 54 68 69 73 20 69 73 20 6d 79 20 61 63 74 69 76 69 74 79 3a 20 6d 61 6b 69 | debug('This.is.my.activity:.maki |
4780 | 6e 67 20 61 20 74 75 62 65 2e 2e 2e 27 29 0a 20 20 20 20 20 20 20 20 69 64 20 3d 20 73 65 6c 66 | ng.a.tube...').........id.=.self |
47a0 | 2e 74 75 62 65 73 5f 63 68 61 6e 5b 74 65 6c 65 70 61 74 68 79 2e 43 48 41 4e 4e 45 4c 5f 54 59 | .tubes_chan[telepathy.CHANNEL_TY |
47c0 | 50 45 5f 54 55 42 45 53 5d 2e 4f 66 66 65 72 44 42 75 73 54 75 62 65 28 0a 20 20 20 20 20 20 20 | PE_TUBES].OfferDBusTube(........ |
47e0 | 20 20 20 20 20 53 45 52 56 49 43 45 2c 20 7b 7d 29 0a 0a 20 20 20 20 64 65 66 20 5f 6a 6f 69 6e | .....SERVICE,.{})......def._join |
4800 | 65 64 5f 63 62 28 73 65 6c 66 2c 20 61 63 74 69 76 69 74 79 29 3a 0a 20 20 20 20 20 20 20 20 22 | ed_cb(self,.activity):........." |
4820 | 22 22 20 2e 2e 2e 6f 72 20 6a 6f 69 6e 20 61 6e 20 65 78 69 73 69 74 69 6e 67 20 73 68 61 72 65 | ""....or.join.an.exisiting.share |
4840 | 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 73 68 61 72 65 64 5f 61 63 | ..""".........if.self._shared_ac |
4860 | 74 69 76 69 74 79 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 6c 6f 67 | tivity.is.None:............._log |
4880 | 67 65 72 2e 65 72 72 6f 72 28 22 46 61 69 6c 65 64 20 74 6f 20 73 68 61 72 65 20 6f 72 20 6a 6f | ger.error("Failed.to.share.or.jo |
48a0 | 69 6e 20 61 63 74 69 76 69 74 79 20 2e 2e 2e 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | in.activity.....\............... |
48c0 | 20 20 5f 73 68 61 72 65 64 5f 61 63 74 69 76 69 74 79 20 69 73 20 6e 75 6c 6c 20 69 6e 20 5f 73 | .._shared_activity.is.null.in._s |
48e0 | 68 61 72 65 64 5f 63 62 28 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a | hared_cb()").............return. |
4900 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 69 74 69 61 74 69 6e 67 20 3d 20 46 61 6c 73 65 | .........self.initiating.=.False |
4920 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6e 6e 20 3d 20 73 65 6c 66 2e 5f 73 68 61 72 65 | .........self.conn.=.self._share |
4940 | 64 5f 61 63 74 69 76 69 74 79 2e 74 65 6c 65 70 61 74 68 79 5f 63 6f 6e 6e 0a 20 20 20 20 20 20 | d_activity.telepathy_conn....... |
4960 | 20 20 73 65 6c 66 2e 74 75 62 65 73 5f 63 68 61 6e 20 3d 20 73 65 6c 66 2e 5f 73 68 61 72 65 64 | ..self.tubes_chan.=.self._shared |
4980 | 5f 61 63 74 69 76 69 74 79 2e 74 65 6c 65 70 61 74 68 79 5f 74 75 62 65 73 5f 63 68 61 6e 0a 20 | _activity.telepathy_tubes_chan.. |
49a0 | 20 20 20 20 20 20 20 73 65 6c 66 2e 74 65 78 74 5f 63 68 61 6e 20 3d 20 73 65 6c 66 2e 5f 73 68 | .......self.text_chan.=.self._sh |
49c0 | 61 72 65 64 5f 61 63 74 69 76 69 74 79 2e 74 65 6c 65 70 61 74 68 79 5f 74 65 78 74 5f 63 68 61 | ared_activity.telepathy_text_cha |
49e0 | 6e 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 23 20 63 61 6c 6c 20 62 61 63 6b 20 66 | n..................#.call.back.f |
4a00 | 6f 72 20 22 4e 65 77 54 75 62 65 22 20 73 69 67 6e 61 6c 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | or."NewTube".signal.........self |
4a20 | 2e 74 75 62 65 73 5f 63 68 61 6e 5b 74 65 6c 65 70 61 74 68 79 2e 43 48 41 4e 4e 45 4c 5f 54 59 | .tubes_chan[telepathy.CHANNEL_TY |
4a40 | 50 45 5f 54 55 42 45 53 5d 2e 63 6f 6e 6e 65 63 74 5f 74 6f 5f 73 69 67 6e 61 6c 28 20 5c 0a 20 | PE_TUBES].connect_to_signal(.\.. |
4a60 | 20 20 20 20 20 20 20 20 20 20 20 27 4e 65 77 54 75 62 65 27 2c 20 73 65 6c 66 2e 5f 6e 65 77 5f | ...........'NewTube',.self._new_ |
4a80 | 74 75 62 65 5f 63 62 29 0a 0a 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 | tube_cb).........._logger.debug( |
4aa0 | 27 49 20 61 6d 20 6a 6f 69 6e 69 6e 67 20 61 6e 20 61 63 74 69 76 69 74 79 3a 20 77 61 69 74 69 | 'I.am.joining.an.activity:.waiti |
4ac0 | 6e 67 20 66 6f 72 20 61 20 74 75 62 65 2e 2e 2e 27 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | ng.for.a.tube...').........self. |
4ae0 | 74 75 62 65 73 5f 63 68 61 6e 5b 74 65 6c 65 70 61 74 68 79 2e 43 48 41 4e 4e 45 4c 5f 54 59 50 | tubes_chan[telepathy.CHANNEL_TYP |
4b00 | 45 5f 54 55 42 45 53 5d 2e 4c 69 73 74 54 75 62 65 73 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 | E_TUBES].ListTubes(............. |
4b20 | 72 65 70 6c 79 5f 68 61 6e 64 6c 65 72 3d 73 65 6c 66 2e 5f 6c 69 73 74 5f 74 75 62 65 73 5f 72 | reply_handler=self._list_tubes_r |
4b40 | 65 70 6c 79 5f 63 62 2c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 68 61 6e 64 | eply_cb,..............error_hand |
4b60 | 6c 65 72 3d 73 65 6c 66 2e 5f 6c 69 73 74 5f 74 75 62 65 73 5f 65 72 72 6f 72 5f 63 62 29 0a 0a | ler=self._list_tubes_error_cb).. |
4b80 | 20 20 20 20 20 20 20 20 23 20 4a 6f 69 6e 65 72 20 73 68 6f 75 6c 64 20 72 65 71 75 65 73 74 20 | ........#.Joiner.should.request. |
4ba0 | 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 66 72 6f 6d 20 73 68 61 72 65 72 2e 0a 20 20 20 20 20 | current.state.from.sharer....... |
4bc0 | 20 20 20 73 65 6c 66 2e 77 61 69 74 69 6e 67 5f 66 6f 72 5f 74 75 72 74 6c 65 73 20 3d 20 54 72 | ...self.waiting_for_turtles.=.Tr |
4be0 | 75 65 0a 0a 20 20 20 20 64 65 66 20 5f 6c 69 73 74 5f 74 75 62 65 73 5f 72 65 70 6c 79 5f 63 62 | ue......def._list_tubes_reply_cb |
4c00 | 28 73 65 6c 66 2c 20 74 75 62 65 73 29 3a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 74 75 62 65 5f | (self,.tubes):.........for.tube_ |
4c20 | 69 6e 66 6f 20 69 6e 20 74 75 62 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | info.in.tubes:.............self. |
4c40 | 5f 6e 65 77 5f 74 75 62 65 5f 63 62 28 2a 74 75 62 65 5f 69 6e 66 6f 29 0a 0a 20 20 20 20 64 65 | _new_tube_cb(*tube_info)......de |
4c60 | 66 20 5f 6c 69 73 74 5f 74 75 62 65 73 5f 65 72 72 6f 72 5f 63 62 28 73 65 6c 66 2c 20 65 29 3a | f._list_tubes_error_cb(self,.e): |
4c80 | 0a 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 65 72 72 6f 72 28 27 4c 69 73 74 54 75 62 65 | ........._logger.error('ListTube |
4ca0 | 73 28 29 20 66 61 69 6c 65 64 3a 20 25 73 27 2c 20 65 29 0a 0a 20 20 20 20 64 65 66 20 5f 6e 65 | s().failed:.%s',.e)......def._ne |
4cc0 | 77 5f 74 75 62 65 5f 63 62 28 73 65 6c 66 2c 20 69 64 2c 20 69 6e 69 74 69 61 74 6f 72 2c 20 74 | w_tube_cb(self,.id,.initiator,.t |
4ce0 | 79 70 65 2c 20 73 65 72 76 69 63 65 2c 20 70 61 72 61 6d 73 2c 20 73 74 61 74 65 29 3a 0a 20 20 | ype,.service,.params,.state):... |
4d00 | 20 20 20 20 20 20 22 22 22 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 74 75 62 65 2e 20 22 22 22 | ......""".Create.a.new.tube..""" |
4d20 | 0a 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 27 4e 65 77 20 74 75 62 65 | ........._logger.debug('New.tube |
4d40 | 3a 20 49 44 3d 25 64 20 69 6e 69 74 61 74 6f 72 3d 25 64 20 74 79 70 65 3d 25 64 20 73 65 72 76 | :.ID=%d.initator=%d.type=%d.serv |
4d60 | 69 63 65 3d 25 73 20 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 | ice=%s.'......................'p |
4d80 | 61 72 61 6d 73 3d 25 72 20 73 74 61 74 65 3d 25 64 27 2c 20 69 64 2c 20 69 6e 69 74 69 61 74 6f | arams=%r.state=%d',.id,.initiato |
4da0 | 72 2c 20 74 79 70 65 2c 20 73 65 72 76 69 63 65 2c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | r,.type,.service,............... |
4dc0 | 20 20 20 20 20 20 20 20 70 61 72 61 6d 73 2c 20 73 74 61 74 65 29 0a 0a 20 20 20 20 20 20 20 20 | ........params,.state).......... |
4de0 | 69 66 20 28 74 79 70 65 20 3d 3d 20 74 65 6c 65 70 61 74 68 79 2e 54 55 42 45 5f 54 59 50 45 5f | if.(type.==.telepathy.TUBE_TYPE_ |
4e00 | 44 42 55 53 20 61 6e 64 20 73 65 72 76 69 63 65 20 3d 3d 20 53 45 52 56 49 43 45 29 3a 0a 20 20 | DBUS.and.service.==.SERVICE):... |
4e20 | 20 20 20 20 20 20 20 20 20 20 69 66 20 73 74 61 74 65 20 3d 3d 20 74 65 6c 65 70 61 74 68 79 2e | ..........if.state.==.telepathy. |
4e40 | 54 55 42 45 5f 53 54 41 54 45 5f 4c 4f 43 41 4c 5f 50 45 4e 44 49 4e 47 3a 0a 20 20 20 20 20 20 | TUBE_STATE_LOCAL_PENDING:....... |
4e60 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 75 62 65 73 5f 63 68 61 6e 5b 20 5c 0a 20 20 20 | ..........self.tubes_chan[.\.... |
4e80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 6c 65 70 | ...........................telep |
4ea0 | 61 74 68 79 2e 43 48 41 4e 4e 45 4c 5f 54 59 50 45 5f 54 55 42 45 53 5d 2e 41 63 63 65 70 74 44 | athy.CHANNEL_TYPE_TUBES].AcceptD |
4ec0 | 42 75 73 54 75 62 65 28 69 64 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 75 62 65 5f 63 6f | BusTube(id)..............tube_co |
4ee0 | 6e 6e 20 3d 20 54 75 62 65 43 6f 6e 6e 65 63 74 69 6f 6e 28 73 65 6c 66 2e 63 6f 6e 6e 2c 20 0a | nn.=.TubeConnection(self.conn,.. |
4f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 75 62 65 73 5f 63 68 61 6e 5b | ................self.tubes_chan[ |
4f20 | 74 65 6c 65 70 61 74 68 79 2e 43 48 41 4e 4e 45 4c 5f 54 59 50 45 5f 54 55 42 45 53 5d 2c 20 69 | telepathy.CHANNEL_TYPE_TUBES],.i |
4f40 | 64 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 72 6f 75 70 5f 69 66 61 63 65 | d,.\.................group_iface |
4f60 | 3d 73 65 6c 66 2e 74 65 78 74 5f 63 68 61 6e 5b 74 65 6c 65 70 61 74 68 79 2e 43 48 41 4e 4e 45 | =self.text_chan[telepathy.CHANNE |
4f80 | 4c 5f 49 4e 54 45 52 46 41 43 45 5f 47 52 4f 55 50 5d 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 | L_INTERFACE_GROUP])............. |
4fa0 | 20 23 20 57 65 27 6c 6c 20 75 73 65 20 61 20 63 68 61 74 20 74 75 62 65 20 74 6f 20 73 65 6e 64 | .#.We'll.use.a.chat.tube.to.send |
4fc0 | 20 73 65 72 69 61 6c 69 7a 65 64 20 73 74 61 63 6b 73 20 62 61 63 6b 20 61 6e 64 20 66 6f 72 74 | .serialized.stacks.back.and.fort |
4fe0 | 68 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 68 61 74 74 75 62 65 20 3d 20 43 | h..............self.chattube.=.C |
5000 | 68 61 74 54 75 62 65 28 74 75 62 65 5f 63 6f 6e 6e 2c 20 73 65 6c 66 2e 69 6e 69 74 69 61 74 69 | hatTube(tube_conn,.self.initiati |
5020 | 6e 67 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 76 65 6e 74 | ng,.\.................self.event |
5040 | 5f 72 65 63 65 69 76 65 64 5f 63 62 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 4e 6f 77 | _received_cb)..............#.Now |
5060 | 20 74 68 61 74 20 77 65 20 68 61 76 65 20 74 68 65 20 74 75 62 65 2c 20 77 65 20 63 61 6e 20 61 | .that.we.have.the.tube,.we.can.a |
5080 | 73 6b 20 66 6f 72 20 74 68 65 20 74 75 72 74 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 2e 0a 20 20 | sk.for.the.turtle.dictionary.... |
50a0 | 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 77 61 69 74 69 6e 67 5f 66 6f 72 5f 74 75 | ..........if.self.waiting_for_tu |
50c0 | 72 74 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 | rtles:................._logger.d |
50e0 | 65 62 75 67 28 22 53 65 6e 64 69 6e 67 20 61 20 72 65 71 75 65 73 74 20 66 6f 72 20 74 68 65 20 | ebug("Sending.a.request.for.the. |
5100 | 74 75 72 74 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | turtle.dictionary")............. |
5120 | 20 20 20 20 23 20 77 65 20 6e 65 65 64 20 74 6f 20 73 65 6e 64 20 6f 75 72 20 6f 77 6e 20 6e 69 | ....#.we.need.to.send.our.own.ni |
5140 | 63 6b 20 61 6e 64 20 63 6f 6c 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f | ck.and.colors.................co |
5160 | 6c 6f 72 73 20 3d 20 20 70 72 6f 66 69 6c 65 2e 67 65 74 5f 63 6f 6c 6f 72 28 29 2e 74 6f 5f 73 | lors.=..profile.get_color().to_s |
5180 | 74 72 69 6e 67 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e | tring()................._logger. |
51a0 | 64 65 62 75 67 28 22 74 7c 22 2b 64 61 74 61 5f 74 6f 5f 73 74 72 69 6e 67 28 5b 73 65 6c 66 2e | debug("t|"+data_to_string([self. |
51c0 | 74 77 2e 6e 69 63 6b 2c 63 6f 6c 6f 72 73 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tw.nick,colors]))............... |
51e0 | 20 20 73 65 6c 66 2e 73 65 6e 64 5f 65 76 65 6e 74 28 22 74 7c 25 73 22 20 25 20 5c 0a 20 20 20 | ..self.send_event("t|%s".%.\.... |
5200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 61 | .............................(da |
5220 | 74 61 5f 74 6f 5f 73 74 72 69 6e 67 28 5b 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 2c 63 6f 6c 6f 72 | ta_to_string([self.tw.nick,color |
5240 | 73 5d 29 29 29 0a 0a 20 20 20 20 64 65 66 20 65 76 65 6e 74 5f 72 65 63 65 69 76 65 64 5f 63 62 | s])))......def.event_received_cb |
5260 | 28 73 65 6c 66 2c 20 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 48 61 6e 64 6c 65 | (self,.text):.........""".Handle |
5280 | 20 74 68 65 20 72 65 63 65 69 76 69 6e 67 20 6f 66 20 65 76 65 6e 74 73 20 69 6e 20 73 68 61 72 | .the.receiving.of.events.in.shar |
52a0 | 65 20 22 22 22 0a 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 74 65 78 74 | e."""........._logger.debug(text |
52c0 | 29 0a 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 45 76 65 6e 74 73 20 61 72 | )..........""".........Events.ar |
52e0 | 65 20 73 65 6e 74 20 61 73 20 61 20 74 75 70 6c 65 2c 20 6e 69 63 6b 7c 63 6d 64 2c 20 77 68 65 | e.sent.as.a.tuple,.nick|cmd,.whe |
5300 | 72 65 20 6e 69 63 6b 20 69 73 20 61 20 74 75 72 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 | re.nick.is.a.turle.name......... |
5320 | 61 6e 64 20 63 6d 64 20 69 73 20 61 20 74 75 72 74 6c 65 20 65 76 65 6e 74 2e 20 45 76 65 72 79 | and.cmd.is.a.turtle.event..Every |
5340 | 6f 6e 65 20 67 65 74 73 20 74 68 65 20 74 75 72 74 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 20 66 | one.gets.the.turtle.dictionary.f |
5360 | 72 6f 6d 0a 20 20 20 20 20 20 20 20 74 68 65 20 73 68 61 72 65 72 20 61 6e 64 20 77 61 74 63 68 | rom.........the.sharer.and.watch |
5380 | 65 73 20 66 6f 72 20 27 74 27 20 65 76 65 6e 74 73 2c 20 77 68 69 63 68 20 69 6e 64 69 63 61 74 | es.for.'t'.events,.which.indicat |
53a0 | 65 20 74 68 61 74 20 61 20 6e 65 77 0a 20 20 20 20 20 20 20 20 74 75 72 74 6c 65 20 68 61 73 20 | e.that.a.new.........turtle.has. |
53c0 | 6a 6f 69 6e 65 64 2e 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 | joined...................""".... |
53e0 | 20 20 20 20 20 23 20 53 61 76 65 20 61 63 74 69 76 65 20 54 75 72 74 6c 65 0a 20 20 20 20 20 20 | .....#.Save.active.Turtle....... |
5400 | 20 20 73 61 76 65 5f 61 63 74 69 76 65 5f 74 75 72 74 6c 65 20 3d 20 73 65 6c 66 2e 74 77 2e 61 | ..save_active_turtle.=.self.tw.a |
5420 | 63 74 69 76 65 5f 74 75 72 74 6c 65 0a 20 20 20 20 20 20 20 20 69 66 20 74 65 78 74 5b 30 5d 20 | ctive_turtle.........if.text[0]. |
5440 | 3d 3d 20 27 74 27 3a 20 23 20 72 65 71 75 65 73 74 20 66 6f 72 20 74 75 72 74 6c 65 20 64 69 63 | ==.'t':.#.request.for.turtle.dic |
5460 | 74 69 6f 6e 61 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 20 3d 20 74 65 78 74 2e 73 70 6c | tionary.............e.=.text.spl |
5480 | 69 74 28 22 7c 22 2c 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 65 5b | it("|",.2).............text.=.e[ |
54a0 | 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 74 65 78 74 20 3e 20 30 3a 0a 20 20 20 20 | 1].............if.text.>.0:..... |
54c0 | 20 20 20 20 20 20 20 20 20 20 20 20 5b 6e 69 63 6b 2c 20 63 6f 6c 6f 72 73 5d 20 3d 20 64 61 74 | ............[nick,.colors].=.dat |
54e0 | 61 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | a_from_string(text)............. |
5500 | 20 20 20 20 69 66 20 6e 69 63 6b 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a 0a 20 20 20 | ....if.nick.!=.self.tw.nick:.... |
5520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 54 68 65 72 65 20 6d 61 79 20 6e 6f 74 | .................#.There.may.not |
5540 | 20 62 65 20 61 20 74 75 72 74 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 2e 0a 20 20 20 20 20 20 20 | .be.a.turtle.dictionary......... |
5560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 22 74 | .............if.hasattr(self,."t |
5580 | 75 72 74 6c 65 5f 64 69 63 74 69 6f 6e 61 72 79 22 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | urtle_dictionary"):............. |
55a0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 75 72 74 6c 65 5f 64 69 63 74 69 6f 6e 61 | ............self.turtle_dictiona |
55c0 | 72 79 5b 6e 69 63 6b 5d 20 3d 20 63 6f 6c 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ry[nick].=.colors............... |
55e0 | 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......else:..................... |
5600 | 20 20 20 20 73 65 6c 66 2e 74 75 72 74 6c 65 5f 64 69 63 74 69 6f 6e 61 72 79 20 3d 20 7b 6e 69 | ....self.turtle_dictionary.=.{ni |
5620 | 63 6b 3a 63 6f 6c 6f 72 73 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 | ck:colors}.....................# |
5640 | 20 41 64 64 20 6e 65 77 20 74 75 72 74 6c 65 20 66 6f 72 20 74 68 65 20 6a 6f 69 6e 65 72 2e 0a | .Add.new.turtle.for.the.joiner.. |
5660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 | ....................self.tw.canv |
5680 | 61 73 2e 73 65 74 5f 74 75 72 74 6c 65 28 6e 69 63 6b 2c 20 63 6f 6c 6f 72 73 29 0a 20 20 20 20 | as.set_turtle(nick,.colors)..... |
56a0 | 20 20 20 20 20 20 20 20 23 20 53 68 61 72 65 72 20 73 68 6f 75 6c 64 20 73 65 6e 64 20 74 75 72 | ........#.Sharer.should.send.tur |
56c0 | 74 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 | tle.dictionary..............if.s |
56e0 | 65 6c 66 2e 69 6e 69 74 69 61 74 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | elf.initiating:................. |
5700 | 74 65 78 74 20 3d 20 64 61 74 61 5f 74 6f 5f 73 74 72 69 6e 67 28 73 65 6c 66 2e 74 75 72 74 6c | text.=.data_to_string(self.turtl |
5720 | 65 5f 64 69 63 74 69 6f 6e 61 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | e_dictionary).................se |
5740 | 6c 66 2e 73 65 6e 64 5f 65 76 65 6e 74 28 22 54 7c 22 20 2b 20 74 65 78 74 29 0a 20 20 20 20 20 | lf.send_event("T|".+.text)...... |
5760 | 20 20 20 65 6c 69 66 20 74 65 78 74 5b 30 5d 20 3d 3d 20 27 54 27 3a 20 23 20 52 65 63 65 69 76 | ...elif.text[0].==.'T':.#.Receiv |
5780 | 69 6e 67 20 74 68 65 20 74 75 72 74 6c 65 20 64 69 63 74 69 6f 6e 61 72 79 2e 0a 20 20 20 20 20 | ing.the.turtle.dictionary....... |
57a0 | 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 77 61 69 74 69 6e 67 5f 66 6f 72 5f 74 75 72 74 6c | .......if.self.waiting_for_turtl |
57c0 | 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 20 3d 20 74 65 78 74 2e 73 70 6c | es:.................e.=.text.spl |
57e0 | 69 74 28 22 7c 22 2c 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 | it("|",.2).................text. |
5800 | 3d 20 65 5b 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6c 65 6e 28 74 65 | =.e[1].................if.len(te |
5820 | 78 74 29 20 3e 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | xt).>.0:.....................sel |
5840 | 66 2e 74 75 72 74 6c 65 5f 64 69 63 74 69 6f 6e 61 72 79 20 3d 20 64 61 74 61 5f 66 72 6f 6d 5f | f.turtle_dictionary.=.data_from_ |
5860 | 73 74 72 69 6e 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | string(text).................... |
5880 | 20 66 6f 72 20 6e 69 63 6b 20 69 6e 20 73 65 6c 66 2e 74 75 72 74 6c 65 5f 64 69 63 74 69 6f 6e | .for.nick.in.self.turtle_diction |
58a0 | 61 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | ary:.........................if. |
58c0 | 6e 69 63 6b 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 | nick.!=.self.tw.nick:........... |
58e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 73 20 3d 20 73 65 6c 66 2e | ..................colors.=.self. |
5900 | 74 75 72 74 6c 65 5f 64 69 63 74 69 6f 6e 61 72 79 5b 6e 69 63 6b 5d 0a 20 20 20 20 20 20 20 20 | turtle_dictionary[nick]......... |
5920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 61 64 64 20 6e 65 77 20 74 75 | ....................#.add.new.tu |
5940 | 72 74 6c 65 20 66 6f 72 20 74 68 65 20 6a 6f 69 6e 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 | rtle.for.the.joiner............. |
5960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 | ................self.tw.canvas.s |
5980 | 65 74 5f 74 75 72 74 6c 65 28 6e 69 63 6b 2c 20 63 6f 6c 6f 72 73 29 0a 20 20 20 20 20 20 20 20 | et_turtle(nick,.colors)......... |
59a0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 77 61 69 74 69 6e 67 5f 66 6f 72 5f 74 75 72 74 6c 65 73 | ........self.waiting_for_turtles |
59c0 | 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 74 65 78 74 5b 30 5d 20 3d 3d | .=.False.........elif.text[0].== |
59e0 | 20 27 66 27 3a 20 23 20 6d 6f 76 65 20 61 20 74 75 72 74 6c 65 20 66 6f 72 77 61 72 64 0a 20 20 | .'f':.#.move.a.turtle.forward... |
5a00 | 20 20 20 20 20 20 20 20 20 20 65 20 3d 20 74 65 78 74 2e 73 70 6c 69 74 28 22 7c 22 2c 20 32 29 | ..........e.=.text.split("|",.2) |
5a20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 65 5b 31 5d 0a 20 20 20 20 20 20 20 | .............text.=.e[1]........ |
5a40 | 20 20 20 20 20 69 66 20 6c 65 6e 28 74 65 78 74 29 20 3e 20 30 3a 0a 20 20 20 20 20 20 20 20 20 | .....if.len(text).>.0:.......... |
5a60 | 20 20 20 20 20 20 20 20 5b 6e 69 63 6b 2c 20 78 5d 20 3d 20 64 61 74 61 5f 66 72 6f 6d 5f 73 74 | ........[nick,.x].=.data_from_st |
5a80 | 72 69 6e 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e | ring(text)..................if.n |
5aa0 | 69 63 6b 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | ick.!=.self.tw.nick:............ |
5ac0 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 5f 74 75 72 | ..........self.tw.canvas.set_tur |
5ae0 | 74 6c 65 28 6e 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | tle(nick)......................s |
5b00 | 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 66 6f 72 77 61 72 64 28 78 2c 20 46 61 6c 73 65 29 0a | elf.tw.canvas.forward(x,.False). |
5b20 | 20 20 20 20 20 20 20 20 65 6c 69 66 20 74 65 78 74 5b 30 5d 20 3d 3d 20 27 61 27 3a 20 23 20 6d | ........elif.text[0].==.'a':.#.m |
5b40 | 6f 76 65 20 61 20 74 75 72 74 6c 65 20 69 6e 20 61 6e 20 61 72 63 0a 20 20 20 20 20 20 20 20 20 | ove.a.turtle.in.an.arc.......... |
5b60 | 20 20 20 65 20 3d 20 74 65 78 74 2e 73 70 6c 69 74 28 22 7c 22 2c 20 32 29 0a 20 20 20 20 20 20 | ...e.=.text.split("|",.2)....... |
5b80 | 20 20 20 20 20 20 74 65 78 74 20 3d 20 65 5b 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | ......text.=.e[1].............if |
5ba0 | 20 6c 65 6e 28 74 65 78 74 29 20 3e 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .len(text).>.0:................. |
5bc0 | 20 5b 6e 69 63 6b 2c 20 5b 61 2c 20 72 5d 5d 20 3d 20 64 61 74 61 5f 66 72 6f 6d 5f 73 74 72 69 | .[nick,.[a,.r]].=.data_from_stri |
5be0 | 6e 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 69 63 | ng(text)..................if.nic |
5c00 | 6b 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | k.!=.self.tw.nick:.............. |
5c20 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 5f 74 75 72 74 6c | ........self.tw.canvas.set_turtl |
5c40 | 65 28 6e 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | e(nick)......................sel |
5c60 | 66 2e 74 77 2e 63 61 6e 76 61 73 2e 61 72 63 28 61 2c 20 72 2c 20 46 61 6c 73 65 29 0a 20 20 20 | f.tw.canvas.arc(a,.r,.False).... |
5c80 | 20 20 20 20 20 65 6c 69 66 20 74 65 78 74 5b 30 5d 20 3d 3d 20 27 72 27 3a 20 23 20 72 6f 74 61 | .....elif.text[0].==.'r':.#.rota |
5ca0 | 74 65 20 74 75 72 74 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 20 3d 20 74 65 78 74 2e 73 | te.turtle.............e.=.text.s |
5cc0 | 70 6c 69 74 28 22 7c 22 2c 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 | plit("|",.2).............text.=. |
5ce0 | 65 5b 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6c 65 6e 28 74 65 78 74 29 20 3e 20 | e[1].............if.len(text).>. |
5d00 | 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6e 69 63 6b 2c 20 68 5d 20 3d 20 | 0:..................[nick,.h].=. |
5d20 | 64 61 74 61 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 | data_from_string(text).......... |
5d40 | 20 20 20 20 20 20 20 20 69 66 20 6e 69 63 6b 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a | ........if.nick.!=.self.tw.nick: |
5d60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 | ......................self.tw.ca |
5d80 | 6e 76 61 73 2e 73 65 74 5f 74 75 72 74 6c 65 28 6e 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 | nvas.set_turtle(nick)........... |
5da0 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 68 28 68 | ...........self.tw.canvas.seth(h |
5dc0 | 2c 20 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 74 65 78 74 5b 30 5d 20 3d 3d | ,.False).........elif.text[0].== |
5de0 | 20 27 78 27 3a 20 23 20 73 65 74 20 74 75 72 74 6c 65 20 78 79 20 70 6f 73 69 74 69 6f 6e 0a 20 | .'x':.#.set.turtle.xy.position.. |
5e00 | 20 20 20 20 20 20 20 20 20 20 20 65 20 3d 20 74 65 78 74 2e 73 70 6c 69 74 28 22 7c 22 2c 20 32 | ...........e.=.text.split("|",.2 |
5e20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 65 5b 31 5d 0a 20 20 20 20 20 20 | ).............text.=.e[1]....... |
5e40 | 20 20 20 20 20 20 69 66 20 6c 65 6e 28 74 65 78 74 29 20 3e 20 30 3a 0a 20 20 20 20 20 20 20 20 | ......if.len(text).>.0:......... |
5e60 | 20 20 20 20 20 20 20 20 20 5b 6e 69 63 6b 2c 20 5b 78 2c 20 79 5d 5d 20 3d 20 64 61 74 61 5f 66 | .........[nick,.[x,.y]].=.data_f |
5e80 | 72 6f 6d 5f 73 74 72 69 6e 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rom_string(text)................ |
5ea0 | 20 20 69 66 20 6e 69 63 6b 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a 0a 20 20 20 20 20 | ..if.nick.!=.self.tw.nick:...... |
5ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 | ................self.tw.canvas.s |
5ee0 | 65 74 5f 74 75 72 74 6c 65 28 6e 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | et_turtle(nick)................. |
5f00 | 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 78 79 28 78 2c 20 79 2c 20 | .....self.tw.canvas.setxy(x,.y,. |
5f20 | 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 74 65 78 74 5b 30 5d 20 3d 3d 20 27 | False).........elif.text[0].==.' |
5f40 | 63 27 3a 20 23 20 73 65 74 20 74 75 72 74 6c 65 20 70 65 6e 20 63 6f 6c 6f 72 0a 20 20 20 20 20 | c':.#.set.turtle.pen.color...... |
5f60 | 20 20 20 20 20 20 20 65 20 3d 20 74 65 78 74 2e 73 70 6c 69 74 28 22 7c 22 2c 20 32 29 0a 20 20 | .......e.=.text.split("|",.2)... |
5f80 | 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 65 5b 31 5d 0a 20 20 20 20 20 20 20 20 20 20 | ..........text.=.e[1]........... |
5fa0 | 20 20 69 66 20 6c 65 6e 28 74 65 78 74 29 20 3e 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..if.len(text).>.0:............. |
5fc0 | 20 20 20 20 20 5b 6e 69 63 6b 2c 20 78 5d 20 3d 20 64 61 74 61 5f 66 72 6f 6d 5f 73 74 72 69 6e | .....[nick,.x].=.data_from_strin |
5fe0 | 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 69 63 6b | g(text)..................if.nick |
6000 | 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .!=.self.tw.nick:............... |
6020 | 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 5f 74 75 72 74 6c 65 | .......self.tw.canvas.set_turtle |
6040 | 28 6e 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | (nick)......................self |
6060 | 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 63 6f 6c 6f 72 28 78 2c 20 46 61 6c 73 65 29 0a 20 20 | .tw.canvas.setcolor(x,.False)... |
6080 | 20 20 20 20 20 20 65 6c 69 66 20 74 65 78 74 5b 30 5d 20 3d 3d 20 27 67 27 3a 20 23 20 73 65 74 | ......elif.text[0].==.'g':.#.set |
60a0 | 20 74 75 72 74 6c 65 20 70 65 6e 20 67 72 61 79 20 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 20 | .turtle.pen.gray.level.......... |
60c0 | 20 20 20 65 20 3d 20 74 65 78 74 2e 73 70 6c 69 74 28 22 7c 22 2c 20 32 29 0a 20 20 20 20 20 20 | ...e.=.text.split("|",.2)....... |
60e0 | 20 20 20 20 20 20 74 65 78 74 20 3d 20 65 5b 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | ......text.=.e[1].............if |
6100 | 20 6c 65 6e 28 74 65 78 74 29 20 3e 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .len(text).>.0:................. |
6120 | 20 5b 6e 69 63 6b 2c 20 78 5d 20 3d 20 64 61 74 61 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 74 65 | .[nick,.x].=.data_from_string(te |
6140 | 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 69 63 6b 20 21 3d 20 | xt)..................if.nick.!=. |
6160 | 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | self.tw.nick:................... |
6180 | 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 5f 74 75 72 74 6c 65 28 6e 69 63 | ...self.tw.canvas.set_turtle(nic |
61a0 | 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e | k)......................self.tw. |
61c0 | 63 61 6e 76 61 73 2e 73 65 74 67 72 61 79 28 78 2c 20 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 | canvas.setgray(x,.False)........ |
61e0 | 20 65 6c 69 66 20 74 65 78 74 5b 30 5d 20 3d 3d 20 27 73 27 3a 20 23 20 73 65 74 20 74 75 72 74 | .elif.text[0].==.'s':.#.set.turt |
6200 | 6c 65 20 70 65 6e 20 73 68 61 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 20 3d 20 74 65 78 | le.pen.shade.............e.=.tex |
6220 | 74 2e 73 70 6c 69 74 28 22 7c 22 2c 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 | t.split("|",.2).............text |
6240 | 20 3d 20 65 5b 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6c 65 6e 28 74 65 78 74 29 | .=.e[1].............if.len(text) |
6260 | 20 3e 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6e 69 63 6b 2c 20 78 5d | .>.0:..................[nick,.x] |
6280 | 20 3d 20 64 61 74 61 5f 66 72 6f 6d 5f 73 74 72 69 6e 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 | .=.data_from_string(text)....... |
62a0 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 69 63 6b 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 | ...........if.nick.!=.self.tw.ni |
62c0 | 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 | ck:......................self.tw |
62e0 | 2e 63 61 6e 76 61 73 2e 73 65 74 5f 74 75 72 74 6c 65 28 6e 69 63 6b 29 0a 20 20 20 20 20 20 20 | .canvas.set_turtle(nick)........ |
6300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 | ..............self.tw.canvas.set |
6320 | 73 68 61 64 65 28 78 2c 20 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 74 65 78 | shade(x,.False).........elif.tex |
6340 | 74 5b 30 5d 20 3d 3d 20 27 77 27 3a 20 23 20 73 65 74 20 74 75 72 74 6c 65 20 70 65 6e 20 77 69 | t[0].==.'w':.#.set.turtle.pen.wi |
6360 | 64 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 20 3d 20 74 65 78 74 2e 73 70 6c 69 74 28 22 | dth.............e.=.text.split(" |
6380 | 7c 22 2c 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 65 5b 31 5d 0a 20 | |",.2).............text.=.e[1].. |
63a0 | 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6c 65 6e 28 74 65 78 74 29 20 3e 20 30 3a 0a 20 20 20 | ...........if.len(text).>.0:.... |
63c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6e 69 63 6b 2c 20 78 5d 20 3d 20 64 61 74 61 5f 66 | ..............[nick,.x].=.data_f |
63e0 | 72 6f 6d 5f 73 74 72 69 6e 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rom_string(text)................ |
6400 | 20 20 69 66 20 6e 69 63 6b 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a 0a 20 20 20 20 20 | ..if.nick.!=.self.tw.nick:...... |
6420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 | ................self.tw.canvas.s |
6440 | 65 74 5f 74 75 72 74 6c 65 28 6e 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | et_turtle(nick)................. |
6460 | 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 70 65 6e 73 69 7a 65 28 78 | .....self.tw.canvas.setpensize(x |
6480 | 2c 20 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 74 65 78 74 5b 30 5d 20 3d 3d | ,.False).........elif.text[0].== |
64a0 | 20 27 70 27 3a 20 23 20 73 65 74 20 74 75 72 74 6c 65 20 70 65 6e 20 73 74 61 74 65 0a 20 20 20 | .'p':.#.set.turtle.pen.state.... |
64c0 | 20 20 20 20 20 20 20 20 20 65 20 3d 20 74 65 78 74 2e 73 70 6c 69 74 28 22 7c 22 2c 20 32 29 0a | .........e.=.text.split("|",.2). |
64e0 | 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 65 5b 31 5d 0a 20 20 20 20 20 20 20 20 | ............text.=.e[1]......... |
6500 | 20 20 20 20 69 66 20 6c 65 6e 28 74 65 78 74 29 20 3e 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 | ....if.len(text).>.0:........... |
6520 | 20 20 20 20 20 20 20 5b 6e 69 63 6b 2c 20 78 5d 20 3d 20 64 61 74 61 5f 66 72 6f 6d 5f 73 74 72 | .......[nick,.x].=.data_from_str |
6540 | 69 6e 67 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 69 | ing(text)..................if.ni |
6560 | 63 6b 20 21 3d 20 73 65 6c 66 2e 74 77 2e 6e 69 63 6b 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ck.!=.self.tw.nick:............. |
6580 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 5f 74 75 72 74 | .........self.tw.canvas.set_turt |
65a0 | 6c 65 28 6e 69 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | le(nick)......................se |
65c0 | 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 70 65 6e 28 78 2c 20 46 61 6c 73 65 29 0a 20 20 | lf.tw.canvas.setpen(x,.False)... |
65e0 | 20 20 20 20 20 20 23 20 52 65 73 74 6f 72 65 20 61 63 74 69 76 65 20 54 75 72 74 6c 65 0a 20 20 | ......#.Restore.active.Turtle... |
6600 | 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 63 61 6e 76 61 73 2e 73 65 74 5f 74 75 72 74 6c 65 28 | ......self.tw.canvas.set_turtle( |
6620 | 73 65 6c 66 2e 74 77 2e 74 75 72 74 6c 65 73 2e 67 65 74 5f 74 75 72 74 6c 65 5f 6b 65 79 28 0a | self.tw.turtles.get_turtle_key(. |
6640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
6660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 61 76 65 5f | ...........................save_ |
6680 | 61 63 74 69 76 65 5f 74 75 72 74 6c 65 29 29 0a 0a 20 20 20 20 64 65 66 20 73 65 6e 64 5f 65 76 | active_turtle))......def.send_ev |
66a0 | 65 6e 74 28 73 65 6c 66 2c 20 65 6e 74 72 79 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 53 65 | ent(self,.entry):.........""".Se |
66c0 | 6e 64 20 65 76 65 6e 74 20 74 68 72 6f 75 67 68 20 74 68 65 20 74 75 62 65 2e 20 22 22 22 0a 20 | nd.event.through.the.tube..""".. |
66e0 | 20 20 20 20 20 20 20 69 66 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 27 63 68 61 74 74 75 62 | .......if.hasattr(self,.'chattub |
6700 | 65 27 29 20 61 6e 64 20 73 65 6c 66 2e 63 68 61 74 74 75 62 65 20 69 73 20 6e 6f 74 20 4e 6f 6e | e').and.self.chattube.is.not.Non |
6720 | 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 68 61 74 74 75 62 65 2e 53 65 6e | e:.............self.chattube.Sen |
6740 | 64 54 65 78 74 28 65 6e 74 72 79 29 0a 0a 20 20 20 20 64 65 66 20 5f 5f 76 69 73 69 62 69 6c 69 | dText(entry)......def.__visibili |
6760 | 74 79 5f 6e 6f 74 69 66 79 5f 63 62 28 73 65 6c 66 2c 20 77 69 6e 64 6f 77 2c 20 65 76 65 6e 74 | ty_notify_cb(self,.window,.event |
6780 | 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 43 61 6c 6c 62 61 63 6b 20 6d 65 74 68 6f 64 20 66 | ):.........""".Callback.method.f |
67a0 | 6f 72 20 77 68 65 6e 20 74 68 65 20 61 63 74 69 76 69 74 79 27 73 20 76 69 73 69 62 69 6c 69 74 | or.when.the.activity's.visibilit |
67c0 | 79 20 63 68 61 6e 67 65 73 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 65 76 65 6e 74 2e | y.changes..""".........if.event. |
67e0 | 73 74 61 74 65 20 3d 3d 20 67 74 6b 2e 67 64 6b 2e 56 49 53 49 42 49 4c 49 54 59 5f 46 55 4c 4c | state.==.gtk.gdk.VISIBILITY_FULL |
6800 | 59 5f 4f 42 53 43 55 52 45 44 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e | Y_OBSCURED:.............self.tw. |
6820 | 6c 63 2e 61 67 20 3d 20 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 65 76 65 6e 74 2e | lc.ag.=.None.........elif.event. |
6840 | 73 74 61 74 65 20 69 6e 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 67 74 6b 2e 67 64 6b 2e | state.in.\.............[gtk.gdk. |
6860 | 56 49 53 49 42 49 4c 49 54 59 5f 55 4e 4f 42 53 43 55 52 45 44 2c 20 67 74 6b 2e 67 64 6b 2e 56 | VISIBILITY_UNOBSCURED,.gtk.gdk.V |
6880 | 49 53 49 42 49 4c 49 54 59 5f 50 41 52 54 49 41 4c 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ISIBILITY_PARTIAL]:............. |
68a0 | 70 61 73 73 0a 0a 20 20 20 20 64 65 66 20 75 70 64 61 74 65 5f 74 69 74 6c 65 5f 63 62 28 73 65 | pass......def.update_title_cb(se |
68c0 | 6c 66 2c 20 77 69 64 67 65 74 2c 20 65 76 65 6e 74 2c 20 74 6f 6f 6c 62 6f 78 29 3a 0a 20 20 20 | lf,.widget,.event,.toolbox):.... |
68e0 | 20 20 20 20 20 22 22 22 20 55 70 64 61 74 65 20 74 68 65 20 74 69 74 6c 65 2e 20 22 22 22 0a 20 | .....""".Update.the.title..""".. |
6900 | 20 20 20 20 20 20 20 74 6f 6f 6c 62 6f 78 2e 5f 61 63 74 69 76 69 74 79 5f 74 6f 6f 6c 62 61 72 | .......toolbox._activity_toolbar |
6920 | 2e 5f 75 70 64 61 74 65 5f 74 69 74 6c 65 5f 63 62 28 29 0a 20 20 20 20 20 20 20 20 74 6f 6f 6c | ._update_title_cb().........tool |
6940 | 62 6f 78 2e 5f 61 63 74 69 76 69 74 79 5f 74 6f 6f 6c 62 61 72 2e 5f 75 70 64 61 74 65 5f 74 69 | box._activity_toolbar._update_ti |
6960 | 74 6c 65 5f 73 69 64 20 3d 20 54 72 75 65 0a 0a 20 20 20 20 64 65 66 20 5f 6b 65 65 70 5f 63 6c | tle_sid.=.True......def._keep_cl |
6980 | 69 63 6b 65 64 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 | icked_cb(self,.button):......... |
69a0 | 22 22 22 20 4b 65 65 70 20 62 75 74 74 6f 6e 20 63 6c 69 63 6b 65 64 2e 20 22 22 22 0a 20 20 20 | """.Keep.button.clicked..""".... |
69c0 | 20 20 20 20 20 73 65 6c 66 2e 6a 6f 62 6a 65 63 74 5f 6e 65 77 5f 70 61 74 63 68 28 29 0a 0a 20 | .....self.jobject_new_patch()... |
69e0 | 20 20 20 64 65 66 20 5f 73 65 74 75 70 5f 74 6f 6f 6c 62 61 72 28 73 65 6c 66 29 3a 0a 20 20 20 | ...def._setup_toolbar(self):.... |
6a00 | 20 20 20 20 20 22 22 22 20 53 65 74 75 70 20 74 6f 6f 6c 62 61 72 20 61 63 63 6f 72 64 69 6e 67 | .....""".Setup.toolbar.according |
6a20 | 20 74 6f 20 53 75 67 61 72 20 76 65 72 73 69 6f 6e 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 | .to.Sugar.version.""".........if |
6a40 | 20 73 65 6c 66 2e 6e 65 77 5f 73 75 67 61 72 5f 73 79 73 74 65 6d 3a 0a 20 20 20 20 20 20 20 20 | .self.new_sugar_system:......... |
6a60 | 20 20 20 20 23 20 55 73 65 20 30 2e 38 36 20 74 6f 6f 6c 62 61 72 20 64 65 73 69 67 6e 0a 20 20 | ....#.Use.0.86.toolbar.design... |
6a80 | 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 20 3d 20 54 6f 6f 6c 62 61 72 42 | ..........toolbar_box.=.ToolbarB |
6aa0 | 6f 78 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 42 75 74 74 6f 6e 73 20 61 64 64 65 64 | ox().............#.Buttons.added |
6ac0 | 20 74 6f 20 74 68 65 20 41 63 74 69 76 69 74 79 20 74 6f 6f 6c 62 61 72 0a 20 20 20 20 20 20 20 | .to.the.Activity.toolbar........ |
6ae0 | 20 20 20 20 20 61 63 74 69 76 69 74 79 5f 62 75 74 74 6f 6e 20 3d 20 41 63 74 69 76 69 74 79 54 | .....activity_button.=.ActivityT |
6b00 | 6f 6f 6c 62 61 72 42 75 74 74 6f 6e 28 73 65 6c 66 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | oolbarButton(self).............. |
6b20 | 23 20 53 61 76 65 20 73 6e 61 70 73 68 6f 74 20 69 73 20 6c 69 6b 65 20 4b 65 65 70 2c 20 62 75 | #.Save.snapshot.is.like.Keep,.bu |
6b40 | 74 20 69 74 20 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 61 63 74 69 76 69 74 79 20 69 64 0a 20 | t.it.creates.a.new.activity.id.. |
6b60 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 20 3d 20 54 6f | ...........self.keep_button.=.To |
6b80 | 6f 6c 42 75 74 74 6f 6e 28 27 66 69 6c 65 73 61 76 65 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 | olButton('filesave')............ |
6ba0 | 20 73 65 6c 66 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 | .self.keep_button.set_tooltip(_( |
6bc0 | 22 53 61 76 65 20 73 6e 61 70 73 68 6f 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | "Save.snapshot")).............se |
6be0 | 6c 66 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 | lf.keep_button.connect('clicked' |
6c00 | 2c 20 73 65 6c 66 2e 64 6f 5f 6b 65 65 70 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | ,.self.do_keep_cb).............s |
6c20 | 65 6c 66 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 20 20 20 | elf.keep_button.show().......... |
6c40 | 20 20 20 61 63 74 69 76 69 74 79 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 70 61 67 65 2e 69 6e | ...activity_button.props.page.in |
6c60 | 73 65 72 74 28 73 65 6c 66 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 0a 20 20 20 20 | sert(self.keep_button,.-1)...... |
6c80 | 20 20 20 20 20 20 20 20 23 20 53 61 76 65 20 61 73 20 48 54 4d 4c 0a 20 20 20 20 20 20 20 20 20 | ........#.Save.as.HTML.......... |
6ca0 | 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 68 74 6d 6c 20 3d 20 54 6f 6f 6c 42 75 74 74 6f | ...self.save_as_html.=.ToolButto |
6cc0 | 6e 28 27 68 74 6d 6c 6f 66 66 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 | n('htmloff').............self.sa |
6ce0 | 76 65 5f 61 73 5f 68 74 6d 6c 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 22 53 61 76 65 20 61 | ve_as_html.set_tooltip(_("Save.a |
6d00 | 73 20 48 54 4d 4c 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f | s.HTML")).............self.save_ |
6d20 | 61 73 5f 68 74 6d 6c 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e | as_html.connect('clicked',.self. |
6d40 | 64 6f 5f 73 61 76 65 5f 61 73 5f 68 74 6d 6c 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | do_save_as_html_cb)............. |
6d60 | 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 68 74 6d 6c 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 20 | self.save_as_html.show()........ |
6d80 | 20 20 20 20 20 61 63 74 69 76 69 74 79 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 70 61 67 65 2e | .....activity_button.props.page. |
6da0 | 69 6e 73 65 72 74 28 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 68 74 6d 6c 2c 20 2d 31 29 0a 0a 20 | insert(self.save_as_html,.-1)... |
6dc0 | 20 20 20 20 20 20 20 20 20 20 20 23 20 53 61 76 65 20 61 73 20 4c 6f 67 6f 0a 20 20 20 20 20 20 | ...........#.Save.as.Logo....... |
6de0 | 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 20 3d 20 54 6f 6f 6c 42 75 | ......self.save_as_logo.=.ToolBu |
6e00 | 74 74 6f 6e 28 27 6c 6f 67 6f 2d 73 61 76 65 6f 66 66 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 | tton('logo-saveoff')............ |
6e20 | 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f | .self.save_as_logo.set_tooltip(_ |
6e40 | 28 22 53 61 76 65 20 61 73 20 4c 6f 67 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | ("Save.as.Logo")).............se |
6e60 | 6c 66 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 | lf.save_as_logo.connect('clicked |
6e80 | 27 2c 20 73 65 6c 66 2e 64 6f 5f 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 5f 63 62 29 0a 20 20 20 20 | ',.self.do_save_as_logo_cb)..... |
6ea0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 2e 73 68 6f 77 28 29 | ........self.save_as_logo.show() |
6ec0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 76 69 74 79 5f 62 75 74 74 6f 6e 2e 70 72 6f | .............activity_button.pro |
6ee0 | 70 73 2e 70 61 67 65 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f | ps.page.insert(self.save_as_logo |
6f00 | 2c 20 2d 31 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 53 61 76 65 20 61 73 20 69 6d 61 | ,.-1)..............#.Save.as.ima |
6f20 | 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 | ge.............self.save_as_imag |
6f40 | 65 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 27 69 6d 61 67 65 2d 73 61 76 65 6f 66 66 27 29 0a | e.=.ToolButton('image-saveoff'). |
6f60 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 65 2e 73 | ............self.save_as_image.s |
6f80 | 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 22 53 61 76 65 20 61 73 20 69 6d 61 67 65 22 29 29 0a 20 | et_tooltip(_("Save.as.image")).. |
6fa0 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 65 2e 63 6f | ...........self.save_as_image.co |
6fc0 | 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 64 6f 5f 73 61 76 65 5f 61 73 | nnect('clicked',.self.do_save_as |
6fe0 | 5f 69 6d 61 67 65 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 61 76 65 | _image_cb).............self.save |
7000 | 5f 61 73 5f 69 6d 61 67 65 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 | _as_image.show().............act |
7020 | 69 76 69 74 79 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 70 61 67 65 2e 69 6e 73 65 72 74 28 73 | ivity_button.props.page.insert(s |
7040 | 65 6c 66 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 65 2c 20 2d 31 29 0a 0a 20 20 20 20 20 20 20 20 | elf.save_as_image,.-1).......... |
7060 | 20 20 20 20 23 20 4c 6f 61 64 20 50 79 74 68 6f 6e 20 63 6f 64 65 20 69 6e 74 6f 20 70 72 6f 67 | ....#.Load.Python.code.into.prog |
7080 | 72 61 6d 6d 61 62 6c 65 20 62 72 69 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | rammable.brick.............self. |
70a0 | 6c 6f 61 64 5f 70 79 74 68 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 27 70 69 70 70 79 2d | load_python.=.ToolButton('pippy- |
70c0 | 6f 70 65 6e 6f 66 66 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 6f 61 64 5f | openoff').............self.load_ |
70e0 | 70 79 74 68 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 22 4c 6f 61 64 20 6d 79 20 62 6c | python.set_tooltip(_("Load.my.bl |
7100 | 6f 63 6b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 6f 61 64 5f 70 79 74 | ock")).............self.load_pyt |
7120 | 68 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 64 6f 5f 6c | hon.connect('clicked',.self.do_l |
7140 | 6f 61 64 5f 70 79 74 68 6f 6e 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | oad_python_cb).............self. |
7160 | 6c 6f 61 64 5f 70 79 74 68 6f 6e 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 | load_python.show().............a |
7180 | 63 74 69 76 69 74 79 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 70 61 67 65 2e 69 6e 73 65 72 74 | ctivity_button.props.page.insert |
71a0 | 28 73 65 6c 66 2e 6c 6f 61 64 5f 70 79 74 68 6f 6e 2c 20 2d 31 29 0a 0a 20 20 20 20 20 20 20 20 | (self.load_python,.-1).......... |
71c0 | 20 20 20 20 23 20 4f 70 65 6e 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 20 4a 6f 75 72 | ....#.Open.project.from.the.Jour |
71e0 | 6e 61 6c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 6f 61 64 5f 74 61 5f 70 72 | nal..............self.load_ta_pr |
7200 | 6f 6a 65 63 74 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 27 6c 6f 61 64 2d 66 72 6f 6d 2d 6a 6f | oject.=.ToolButton('load-from-jo |
7220 | 75 72 6e 61 6c 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 6f 61 64 5f 74 61 | urnal').............self.load_ta |
7240 | 5f 70 72 6f 6a 65 63 74 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5c 0a 20 20 20 20 20 20 20 20 20 | _project.set_tooltip(\.......... |
7260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
7280 | 20 20 5f 28 22 49 6d 70 6f 72 74 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20 74 68 65 20 4a 6f 75 | .._("Import.project.from.the.Jou |
72a0 | 72 6e 61 6c 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 6f 61 64 5f 74 61 | rnal")).............self.load_ta |
72c0 | 5f 70 72 6f 6a 65 63 74 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 | _project.connect('clicked',.self |
72e0 | 2e 64 6f 5f 6c 6f 61 64 5f 74 61 5f 70 72 6f 6a 65 63 74 5f 63 62 29 0a 20 20 20 20 20 20 20 20 | .do_load_ta_project_cb)......... |
7300 | 20 20 20 20 73 65 6c 66 2e 6c 6f 61 64 5f 74 61 5f 70 72 6f 6a 65 63 74 2e 73 68 6f 77 28 29 0a | ....self.load_ta_project.show(). |
7320 | 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 76 69 74 79 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 | ............activity_button.prop |
7340 | 73 2e 70 61 67 65 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 6c 6f 61 64 5f 74 61 5f 70 72 6f 6a 65 | s.page.insert(self.load_ta_proje |
7360 | 63 74 2c 20 2d 31 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 | ct,.-1)..............toolbar_box |
7380 | 2e 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 61 63 74 69 76 69 74 79 5f 62 75 74 74 6f 6e 2c | .toolbar.insert(activity_button, |
73a0 | 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 76 69 74 79 5f 62 75 74 74 6f 6e 2e | .0).............activity_button. |
73c0 | 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 54 68 65 20 65 64 69 74 20 74 | show()..............#.The.edit.t |
73e0 | 6f 6f 6c 62 61 72 20 2d 2d 20 63 6f 70 79 20 61 6e 64 20 70 61 73 74 65 0a 20 20 20 20 20 20 20 | oolbar.--.copy.and.paste........ |
7400 | 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 20 3d 20 45 64 69 74 54 6f 6f 6c 62 61 72 28 | .....edit_toolbar.=.EditToolbar( |
7420 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f | ).............edit_toolbar_butto |
7440 | 6e 20 3d 20 54 6f 6f 6c 62 61 72 42 75 74 74 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | n.=.ToolbarButton(.............. |
7460 | 20 20 20 20 20 20 20 70 61 67 65 3d 65 64 69 74 5f 74 6f 6f 6c 62 61 72 2c 0a 20 20 20 20 20 20 | .......page=edit_toolbar,....... |
7480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 63 6f 6e 5f 6e 61 6d 65 3d 27 74 6f 6f 6c 62 61 72 | ..............icon_name='toolbar |
74a0 | 2d 65 64 69 74 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 | -edit').............edit_toolbar |
74c0 | 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 2e | .show().............toolbar_box. |
74e0 | 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 65 64 69 74 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 | toolbar.insert(edit_toolbar_butt |
7500 | 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 | on,.-1).............edit_toolbar |
7520 | 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 | _button.show()............._logg |
7540 | 65 72 2e 64 65 62 75 67 28 22 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | er.debug("====================== |
7560 | 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 2e 63 6f 70 79 | ").............edit_toolbar.copy |
7580 | 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 5f 63 6f 70 79 5f 63 | .connect('clicked',.self._copy_c |
75a0 | 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 2e 63 6f 70 79 | b).............edit_toolbar.copy |
75c0 | 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 27 3c 43 74 72 6c 3e 63 27 0a 20 | .props.accelerator.=.'<Ctrl>c'.. |
75e0 | 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 2e 70 61 73 74 65 2e 63 6f | ...........edit_toolbar.paste.co |
7600 | 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 5f 70 61 73 74 65 5f 63 62 29 | nnect('clicked',.self._paste_cb) |
7620 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 2e 63 6f 70 79 2e 70 | .............edit_toolbar.copy.p |
7640 | 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 27 3c 43 74 72 6c 3e 76 27 0a 20 20 20 | rops.accelerator.=.'<Ctrl>v'.... |
7660 | 20 20 20 20 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 2e 75 6e 64 6f 2e 70 72 6f 70 73 | .........edit_toolbar.undo.props |
7680 | 2e 76 69 73 69 62 6c 65 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 | .visible.=.False.............edi |
76a0 | 74 5f 74 6f 6f 6c 62 61 72 2e 72 65 64 6f 2e 70 72 6f 70 73 2e 76 69 73 69 62 6c 65 20 3d 20 46 | t_toolbar.redo.props.visible.=.F |
76c0 | 61 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 64 69 74 5f 74 6f 6f 6c 62 61 72 2e 73 65 | alse.............edit_toolbar.se |
76e0 | 70 61 72 61 74 6f 72 2e 70 72 6f 70 73 2e 76 69 73 69 62 6c 65 20 3d 20 46 61 6c 73 65 0a 20 20 | parator.props.visible.=.False... |
7700 | 20 20 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 3d 3d 3d 3d 3d 3d 3d | .........._logger.debug("======= |
7720 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 22 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 | ===============")..............# |
7740 | 20 54 68 65 20 76 69 65 77 20 74 6f 6f 6c 62 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 69 | .The.view.toolbar.............vi |
7760 | 65 77 5f 74 6f 6f 6c 62 61 72 20 3d 20 67 74 6b 2e 54 6f 6f 6c 62 61 72 28 29 0a 0a 20 20 20 20 | ew_toolbar.=.gtk.Toolbar()...... |
7780 | 20 20 20 20 20 20 20 20 66 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c | ........fullscreen_button.=.Tool |
77a0 | 42 75 74 74 6f 6e 28 27 76 69 65 77 2d 66 75 6c 6c 73 63 72 65 65 6e 27 29 0a 20 20 20 20 20 20 | Button('view-fullscreen')....... |
77c0 | 20 20 20 20 20 20 66 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c | ......fullscreen_button.set_tool |
77e0 | 74 69 70 28 5f 28 22 46 75 6c 6c 73 63 72 65 65 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | tip(_("Fullscreen"))............ |
7800 | 20 66 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 | .fullscreen_button.props.acceler |
7820 | 61 74 6f 72 20 3d 20 27 3c 41 6c 74 3e 45 6e 74 65 72 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ator.=.'<Alt>Enter'............. |
7840 | 66 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b | fullscreen_button.connect('click |
7860 | 65 64 27 2c 20 73 65 6c 66 2e 64 6f 5f 66 75 6c 6c 73 63 72 65 65 6e 5f 63 62 29 0a 20 20 20 20 | ed',.self.do_fullscreen_cb)..... |
7880 | 20 20 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 66 75 6c 6c | ........view_toolbar.insert(full |
78a0 | 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 | screen_button,.-1).............f |
78c0 | 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 | ullscreen_button.show()......... |
78e0 | 20 20 20 20 20 63 61 72 74 65 73 69 61 6e 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 | .....cartesian_button.=.ToolButt |
7900 | 6f 6e 28 27 76 69 65 77 2d 43 61 72 74 65 73 69 61 6e 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 | on('view-Cartesian')............ |
7920 | 20 63 61 72 74 65 73 69 61 6e 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 | .cartesian_button.set_tooltip(_( |
7940 | 22 43 61 72 74 65 73 69 61 6e 20 63 6f 6f 72 64 69 6e 61 74 65 73 22 29 29 0a 20 20 20 20 20 20 | "Cartesian.coordinates"))....... |
7960 | 20 20 20 20 20 20 63 61 72 74 65 73 69 61 6e 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 | ......cartesian_button.connect(' |
7980 | 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 64 6f 5f 63 61 72 74 65 73 69 61 6e 5f 63 62 29 0a | clicked',.self.do_cartesian_cb). |
79a0 | 20 20 20 20 20 20 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 | ............view_toolbar.insert( |
79c0 | 63 61 72 74 65 73 69 61 6e 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 | cartesian_button,.-1)........... |
79e0 | 20 20 63 61 72 74 65 73 69 61 6e 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 | ..cartesian_button.show()....... |
7a00 | 20 20 20 20 20 20 20 70 6f 6c 61 72 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e | .......polar_button.=.ToolButton |
7a20 | 28 27 76 69 65 77 2d 70 6f 6c 61 72 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 6c 61 72 | ('view-polar').............polar |
7a40 | 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 22 50 6f 6c 61 72 20 63 6f 6f | _button.set_tooltip(_("Polar.coo |
7a60 | 72 64 69 6e 61 74 65 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 6c 61 72 5f 62 75 | rdinates")).............polar_bu |
7a80 | 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 64 6f 5f | tton.connect('clicked',.self.do_ |
7aa0 | 70 6f 6c 61 72 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 | polar_cb).............view_toolb |
7ac0 | 61 72 2e 69 6e 73 65 72 74 28 70 6f 6c 61 72 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 | ar.insert(polar_button,.-1)..... |
7ae0 | 20 20 20 20 20 20 20 20 70 6f 6c 61 72 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 20 20 20 20 | ........polar_button.show()..... |
7b00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 20 3d 20 67 74 6b 2e 53 65 70 | .............separator.=.gtk.Sep |
7b20 | 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 | aratorToolItem().............sep |
7b40 | 61 72 61 74 6f 72 2e 70 72 6f 70 73 2e 64 72 61 77 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 | arator.props.draw.=.True........ |
7b60 | 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 | .....view_toolbar.insert(separat |
7b80 | 6f 72 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 | or,.-1).............separator.sh |
7ba0 | 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6f 72 64 69 6e 61 74 | ow()..............self.coordinat |
7bc0 | 65 73 5f 6c 61 62 65 6c 20 3d 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 74 6b 2e 4c | es_label.=.\...............gtk.L |
7be0 | 61 62 65 6c 28 5f 28 22 78 63 6f 72 22 29 20 2b 20 22 20 3d 20 30 20 22 20 2b 20 5f 28 22 79 63 | abel(_("xcor").+.".=.0.".+._("yc |
7c00 | 6f 72 22 29 20 2b 20 22 20 3d 20 30 20 22 20 2b 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | or").+.".=.0.".+.\.............. |
7c20 | 20 20 20 20 20 20 20 20 20 20 20 5f 28 22 68 65 61 64 69 6e 67 22 29 20 2b 20 22 20 3d 20 30 22 | ..........._("heading").+.".=.0" |
7c40 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 6c | ).............self.coordinates_l |
7c60 | 61 62 65 6c 2e 73 65 74 5f 6c 69 6e 65 5f 77 72 61 70 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 | abel.set_line_wrap(True)........ |
7c80 | 20 20 20 20 20 73 65 6c 66 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 6c 61 62 65 6c 2e 73 68 6f 77 | .....self.coordinates_label.show |
7ca0 | 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f | ().............self.coordinates_ |
7cc0 | 74 6f 6f 6c 69 74 65 6d 20 3d 20 67 74 6b 2e 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 | toolitem.=.gtk.ToolItem()....... |
7ce0 | 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 74 6f 6f 6c 69 74 65 6d 2e | ......self.coordinates_toolitem. |
7d00 | 61 64 64 28 73 65 6c 66 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 6c 61 62 65 6c 29 0a 20 20 20 20 | add(self.coordinates_label)..... |
7d20 | 20 20 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 | ........view_toolbar.insert(self |
7d40 | 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 74 6f 6f 6c 69 74 65 6d 2c 20 2d 31 29 0a 20 20 20 20 20 | .coordinates_toolitem,.-1)...... |
7d60 | 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 74 6f 6f 6c 69 74 65 6d | .......self.coordinates_toolitem |
7d80 | 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 20 3d | .show()..............separator.= |
7da0 | 20 67 74 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 | .gtk.SeparatorToolItem()........ |
7dc0 | 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 70 72 6f 70 73 2e 64 72 61 77 20 3d 20 46 61 6c 73 | .....separator.props.draw.=.Fals |
7de0 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 65 78 70 61 | e.............separator.set_expa |
7e00 | 6e 64 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 61 | nd(True).............view_toolba |
7e20 | 72 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 | r.insert(separator,.-1)......... |
7e40 | 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 | ....separator.show()............ |
7e60 | 20 20 73 65 6c 66 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 | ..self.rescale_button.=.ToolButt |
7e80 | 6f 6e 28 27 65 78 70 61 6e 64 2d 63 6f 6f 72 64 69 6e 61 74 65 73 27 29 0a 20 20 20 20 20 20 20 | on('expand-coordinates')........ |
7ea0 | 20 20 20 20 20 73 65 6c 66 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f | .....self.rescale_button.set_too |
7ec0 | 6c 74 69 70 28 5f 28 22 52 65 73 63 61 6c 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 75 70 22 29 | ltip(_("Rescale.coordinates.up") |
7ee0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f | ).............self.rescale_butto |
7f00 | 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 64 6f 5f 72 65 73 | n.connect('clicked',.self.do_res |
7f20 | 63 61 6c 65 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 61 | cale_cb).............view_toolba |
7f40 | 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f 6e 2c 20 2d 31 | r.insert(self.rescale_button,.-1 |
7f60 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f | ).............self.rescale_butto |
7f80 | 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 69 7a | n.show()..............self.resiz |
7fa0 | 65 5f 75 70 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 27 72 65 73 69 7a 65 | e_up_button.=.ToolButton('resize |
7fc0 | 2b 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 69 7a 65 5f 75 70 5f 62 | +').............self.resize_up_b |
7fe0 | 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 22 47 72 6f 77 20 62 6c 6f 63 6b 73 | utton.set_tooltip(_("Grow.blocks |
8000 | 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 69 7a 65 5f 75 70 5f 62 | ")).............self.resize_up_b |
8020 | 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 0a 20 20 20 20 20 20 20 | utton.connect('clicked',........ |
8040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
8060 | 20 20 20 73 65 6c 66 2e 64 6f 5f 72 65 73 69 7a 65 5f 62 6c 6f 63 6b 73 5f 63 62 2c 20 31 2e 35 | ...self.do_resize_blocks_cb,.1.5 |
8080 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 | ).............view_toolbar.inser |
80a0 | 74 28 73 65 6c 66 2e 72 65 73 69 7a 65 5f 75 70 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 | t(self.resize_up_button,.-1).... |
80c0 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 69 7a 65 5f 75 70 5f 62 75 74 74 6f 6e 2e 73 | .........self.resize_up_button.s |
80e0 | 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 69 7a 65 5f 64 | how()..............self.resize_d |
8100 | 6f 77 6e 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 27 72 65 73 69 7a 65 2d | own_button.=.ToolButton('resize- |
8120 | 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 69 7a 65 5f 64 6f 77 6e 5f | ').............self.resize_down_ |
8140 | 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 22 53 68 72 69 6e 6b 20 62 6c 6f | button.set_tooltip(_("Shrink.blo |
8160 | 63 6b 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 69 7a 65 5f 64 | cks")).............self.resize_d |
8180 | 6f 77 6e 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 0a 20 20 | own_button.connect('clicked',... |
81a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
81c0 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 6f 5f 72 65 73 69 7a 65 5f 62 6c 6f 63 6b 73 5f | ..........self.do_resize_blocks_ |
81e0 | 63 62 2c 20 30 2e 36 36 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c | cb,.0.667).............view_tool |
8200 | 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 72 65 73 69 7a 65 5f 64 6f 77 6e 5f 62 75 74 74 | bar.insert(self.resize_down_butt |
8220 | 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 73 69 7a 65 5f | on,.-1).............self.resize_ |
8240 | 64 6f 77 6e 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | down_button.show().............. |
8260 | 76 69 65 77 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 62 61 72 42 75 74 | view_toolbar_button.=.ToolbarBut |
8280 | 74 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 3d 76 69 | ton(.....................page=vi |
82a0 | 65 77 5f 74 6f 6f 6c 62 61 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ew_toolbar,..................... |
82c0 | 69 63 6f 6e 5f 6e 61 6d 65 3d 27 74 6f 6f 6c 62 61 72 2d 76 69 65 77 27 29 0a 20 20 20 20 20 20 | icon_name='toolbar-view')....... |
82e0 | 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 61 72 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 | ......view_toolbar.show()....... |
8300 | 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 2e 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 | ......toolbar_box.toolbar.insert |
8320 | 28 76 69 65 77 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 | (view_toolbar_button,.-1)....... |
8340 | 20 20 20 20 20 20 76 69 65 77 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 | ......view_toolbar_button.show() |
8360 | 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 70 61 6c 65 74 74 65 20 74 6f 6f 6c 62 61 72 0a | ..............#.palette.toolbar. |
8380 | 20 20 20 20 20 20 20 20 20 20 20 20 70 61 6c 65 74 74 65 5f 74 6f 6f 6c 62 61 72 20 3d 20 67 74 | ............palette_toolbar.=.gt |
83a0 | 6b 2e 54 6f 6f 6c 62 61 72 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c | k.Toolbar().............self.pal |
83c0 | 65 74 74 65 5f 62 75 74 74 6f 6e 73 20 3d 20 5b 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f | ette_buttons.=.[].............fo |
83e0 | 72 20 69 2c 20 6e 61 6d 65 20 69 6e 20 65 6e 75 6d 65 72 61 74 65 28 50 41 4c 45 54 54 45 5f 4e | r.i,.name.in.enumerate(PALETTE_N |
8400 | 41 4d 45 53 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 69 20 3e 20 30 3a | AMES):.................if.i.>.0: |
8420 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 | .....................self.palett |
8440 | 65 5f 62 75 74 74 6f 6e 73 2e 61 70 70 65 6e 64 28 54 6f 6f 6c 42 75 74 74 6f 6e 28 6e 61 6d 65 | e_buttons.append(ToolButton(name |
8460 | 2b 27 6f 66 66 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 | +'off')).................else:.. |
8480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f | ...................self.palette_ |
84a0 | 62 75 74 74 6f 6e 73 2e 61 70 70 65 6e 64 28 54 6f 6f 6c 42 75 74 74 6f 6e 28 6e 61 6d 65 2b 27 | buttons.append(ToolButton(name+' |
84c0 | 6f 6e 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 | on')).................self.palet |
84e0 | 74 65 5f 62 75 74 74 6f 6e 73 5b 69 5d 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 48 45 4c 50 5f 53 | te_buttons[i].set_tooltip(HELP_S |
8500 | 54 52 49 4e 47 53 5b 6e 61 6d 65 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | TRINGS[name]).................se |
8520 | 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5b 69 5d 2e 70 72 6f 70 73 2e 73 65 6e 73 | lf.palette_buttons[i].props.sens |
8540 | 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | itive.=.True.................sel |
8560 | 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5b 69 5d 2e 63 6f 6e 6e 65 63 74 28 27 63 6c | f.palette_buttons[i].connect('cl |
8580 | 69 63 6b 65 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | icked',......................... |
85a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 6f 5f | ........................self.do_ |
85c0 | 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5f 63 62 2c 20 69 29 0a 20 20 20 20 20 20 20 20 20 | palette_buttons_cb,.i).......... |
85e0 | 20 20 20 20 20 20 20 70 61 6c 65 74 74 65 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 | .......palette_toolbar.insert(se |
8600 | 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5b 69 5d 2c 20 2d 31 29 0a 20 20 20 20 20 | lf.palette_buttons[i],.-1)...... |
8620 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 73 5b | ...........self.palette_buttons[ |
8640 | 69 5d 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 | i].show()..............separator |
8660 | 20 3d 20 67 74 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 | .=.gtk.SeparatorToolItem()...... |
8680 | 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 70 72 6f 70 73 2e 64 72 61 77 20 3d 20 46 61 | .......separator.props.draw.=.Fa |
86a0 | 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 65 78 | lse.............separator.set_ex |
86c0 | 70 61 6e 64 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 6c 65 74 74 65 5f 74 | pand(True).............palette_t |
86e0 | 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 20 20 | oolbar.insert(separator,.-1).... |
8700 | 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 | .........separator.show()....... |
8720 | 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f | .......self.palette_button.=.Too |
8740 | 6c 42 75 74 74 6f 6e 28 20 22 70 61 6c 65 74 74 65 6f 66 66 22 20 29 0a 20 20 20 20 20 20 20 20 | lButton(."paletteoff".)......... |
8760 | 20 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c | ....self.palette_button.set_tool |
8780 | 74 69 70 28 5f 28 27 48 69 64 65 20 70 61 6c 65 74 74 65 27 29 29 0a 20 20 20 20 20 20 20 20 20 | tip(_('Hide.palette')).......... |
87a0 | 20 20 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e | ...self.palette_button.props.sen |
87c0 | 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 | sitive.=.True.............self.p |
87e0 | 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c | alette_button.connect('clicked', |
8800 | 20 73 65 6c 66 2e 64 6f 5f 70 61 6c 65 74 74 65 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .self.do_palette_cb)............ |
8820 | 20 73 65 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c | .self.palette_button.props.accel |
8840 | 65 72 61 74 6f 72 20 3d 20 5f 28 27 3c 43 74 72 6c 3e 70 27 29 0a 20 20 20 20 20 20 20 20 20 20 | erator.=._('<Ctrl>p')........... |
8860 | 20 20 70 61 6c 65 74 74 65 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 70 61 | ..palette_toolbar.insert(self.pa |
8880 | 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | lette_button,.-1).............se |
88a0 | 6c 66 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 | lf.palette_button.show()........ |
88c0 | 20 20 20 20 20 20 73 65 6c 66 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 | ......self.blocks_button.=.ToolB |
88e0 | 75 74 74 6f 6e 28 20 22 68 69 64 65 73 68 6f 77 6f 66 66 22 20 29 0a 20 20 20 20 20 20 20 20 20 | utton(."hideshowoff".).......... |
8900 | 20 20 20 73 65 6c 66 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 | ...self.blocks_button.set_toolti |
8920 | 70 28 5f 28 27 48 69 64 65 20 62 6c 6f 63 6b 73 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | p(_('Hide.blocks'))............. |
8940 | 73 65 6c 66 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 | self.blocks_button.props.sensiti |
8960 | 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 6c 6f 63 6b | ve.=.True.............self.block |
8980 | 73 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 | s_button.connect('clicked',.self |
89a0 | 2e 64 6f 5f 68 69 64 65 73 68 6f 77 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | .do_hideshow_cb).............sel |
89c0 | 66 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f | f.blocks_button.props.accelerato |
89e0 | 72 20 3d 20 5f 28 27 3c 43 74 72 6c 3e 62 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 6c | r.=._('<Ctrl>b').............pal |
8a00 | 65 74 74 65 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 62 6c 6f 63 6b 73 5f | ette_toolbar.insert(self.blocks_ |
8a20 | 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 62 6c 6f | button,.-1).............self.blo |
8a40 | 63 6b 73 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 | cks_button.show()..............p |
8a60 | 61 6c 65 74 74 65 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 62 61 72 42 | alette_toolbar_button.=.ToolbarB |
8a80 | 75 74 74 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 3d | utton(.....................page= |
8aa0 | 70 61 6c 65 74 74 65 5f 74 6f 6f 6c 62 61 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | palette_toolbar,................ |
8ac0 | 20 20 20 20 20 69 63 6f 6e 5f 6e 61 6d 65 3d 27 70 61 6c 65 74 74 65 27 29 0a 20 20 20 20 20 20 | .....icon_name='palette')....... |
8ae0 | 20 20 20 20 20 20 70 61 6c 65 74 74 65 5f 74 6f 6f 6c 62 61 72 2e 73 68 6f 77 28 29 0a 20 20 20 | ......palette_toolbar.show().... |
8b00 | 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 2e 74 6f 6f 6c 62 61 72 2e 69 6e 73 | .........toolbar_box.toolbar.ins |
8b20 | 65 72 74 28 70 61 6c 65 74 74 65 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a | ert(palette_toolbar_button,.-1). |
8b40 | 20 20 20 20 20 20 20 20 20 20 20 20 70 61 6c 65 74 74 65 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 | ............palette_toolbar_butt |
8b60 | 6f 6e 2e 73 65 74 5f 65 78 70 61 6e 64 65 64 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 | on.set_expanded(True)........... |
8b80 | 20 20 70 61 6c 65 74 74 65 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a | ..palette_toolbar_button.show(). |
8ba0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 20 3d 20 67 74 6b 2e 53 65 70 | .............separator.=.gtk.Sep |
8bc0 | 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 | aratorToolItem().............sep |
8be0 | 61 72 61 74 6f 72 2e 73 65 74 5f 64 72 61 77 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 | arator.set_draw(True)........... |
8c00 | 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 2e 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 70 | ..toolbar_box.toolbar.insert(sep |
8c20 | 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f | arator,.-1).............separato |
8c40 | 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 65 72 61 73 65 72 20 62 | r.show()..............#.eraser.b |
8c60 | 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 72 61 73 65 72 5f 62 75 | utton.............self.eraser_bu |
8c80 | 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 65 72 61 73 65 72 6f 6e 22 20 29 0a | tton.=.ToolButton(."eraseron".). |
8ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 73 | ............self.eraser_button.s |
8cc0 | 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 43 6c 65 61 6e 27 29 29 0a 20 20 20 20 20 20 20 20 20 | et_tooltip(_('Clean')).......... |
8ce0 | 20 20 20 73 65 6c 66 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 | ...self.eraser_button.props.sens |
8d00 | 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 72 | itive.=.True.............self.er |
8d20 | 61 73 65 72 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 | aser_button.connect('clicked',.s |
8d40 | 65 6c 66 2e 64 6f 5f 65 72 61 73 65 72 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 | elf.do_eraser_cb).............se |
8d60 | 6c 66 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 | lf.eraser_button.props.accelerat |
8d80 | 6f 72 20 3d 20 5f 28 27 3c 43 74 72 6c 3e 65 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f | or.=._('<Ctrl>e').............to |
8da0 | 6f 6c 62 61 72 5f 62 6f 78 2e 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 65 72 | olbar_box.toolbar.insert(self.er |
8dc0 | 61 73 65 72 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | aser_button,.-1).............sel |
8de0 | 66 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 | f.eraser_button.show().......... |
8e00 | 20 20 20 20 23 20 72 75 6e 20 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | ....#.run.button.............sel |
8e20 | 66 2e 72 75 6e 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 72 75 6e 2d | f.run_button.=.ToolButton(."run- |
8e40 | 66 61 73 74 6f 66 66 22 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 75 6e 5f | fastoff".).............self.run_ |
8e60 | 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 52 75 6e 27 29 29 0a 20 20 20 | button.set_tooltip(_('Run')).... |
8e80 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 75 6e 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 | .........self.run_button.props.s |
8ea0 | 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | ensitive.=.True.............self |
8ec0 | 2e 72 75 6e 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 | .run_button.connect('clicked',.s |
8ee0 | 65 6c 66 2e 64 6f 5f 72 75 6e 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | elf.do_run_cb).............self. |
8f00 | 72 75 6e 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 5f | run_button.props.accelerator.=._ |
8f20 | 28 27 3c 43 74 72 6c 3e 72 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f | ('<Ctrl>r').............toolbar_ |
8f40 | 62 6f 78 2e 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 72 75 6e 5f 62 75 74 74 | box.toolbar.insert(self.run_butt |
8f60 | 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 75 6e 5f 62 75 74 | on,.-1).............self.run_but |
8f80 | 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 73 74 65 70 20 62 | ton.show()..............#.step.b |
8fa0 | 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 65 70 5f 62 75 74 74 | utton.............self.step_butt |
8fc0 | 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 72 75 6e 2d 73 6c 6f 77 6f 66 66 22 20 29 | on.=.ToolButton(."run-slowoff".) |
8fe0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 65 70 5f 62 75 74 74 6f 6e 2e 73 65 | .............self.step_button.se |
9000 | 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 53 74 65 70 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | t_tooltip(_('Step'))............ |
9020 | 20 73 65 6c 66 2e 73 74 65 70 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 | .self.step_button.props.sensitiv |
9040 | 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 65 70 5f 62 | e.=.True.............self.step_b |
9060 | 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 64 6f | utton.connect('clicked',.self.do |
9080 | 5f 73 74 65 70 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 65 70 5f | _step_cb).............self.step_ |
90a0 | 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 5f 28 27 3c 43 | button.props.accelerator.=._('<C |
90c0 | 74 72 6c 3e 77 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 2e | trl>w').............toolbar_box. |
90e0 | 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 73 74 65 70 5f 62 75 74 74 6f 6e 2c | toolbar.insert(self.step_button, |
9100 | 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 65 70 5f 62 75 74 74 6f | .-1).............self.step_butto |
9120 | 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 64 65 62 75 67 20 62 75 | n.show()..............#.debug.bu |
9140 | 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 62 75 67 5f 62 75 74 74 | tton.............self.debug_butt |
9160 | 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 64 65 62 75 67 6f 66 66 22 20 29 0a 20 20 | on.=.ToolButton(."debugoff".)... |
9180 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 62 75 67 5f 62 75 74 74 6f 6e 2e 73 65 74 5f | ..........self.debug_button.set_ |
91a0 | 74 6f 6f 6c 74 69 70 28 5f 28 27 44 65 62 75 67 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | tooltip(_('Debug'))............. |
91c0 | 73 65 6c 66 2e 64 65 62 75 67 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 | self.debug_button.props.sensitiv |
91e0 | 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 62 75 67 5f | e.=.True.............self.debug_ |
9200 | 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 64 | button.connect('clicked',.self.d |
9220 | 6f 5f 64 65 62 75 67 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 62 | o_debug_cb).............self.deb |
9240 | 75 67 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 5f 28 | ug_button.props.accelerator.=._( |
9260 | 27 3c 41 6c 74 3e 64 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f | '<Alt>d').............toolbar_bo |
9280 | 78 2e 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 64 65 62 75 67 5f 62 75 74 74 | x.toolbar.insert(self.debug_butt |
92a0 | 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 62 75 67 5f 62 | on,.-1).............self.debug_b |
92c0 | 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 73 74 6f 70 | utton.show()..............#.stop |
92e0 | 20 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 6f 70 5f 62 75 | .button.............self.stop_bu |
9300 | 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 73 74 6f 70 69 74 6f 66 66 22 20 29 | tton.=.ToolButton(."stopitoff".) |
9320 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 73 65 | .............self.stop_button.se |
9340 | 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 53 74 6f 70 20 74 75 72 74 6c 65 27 29 29 0a 20 20 20 20 | t_tooltip(_('Stop.turtle'))..... |
9360 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 | ........self.stop_button.props.s |
9380 | 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 | ensitive.=.True.............self |
93a0 | 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 | .stop_button.connect('clicked',. |
93c0 | 73 65 6c 66 2e 64 6f 5f 73 74 6f 70 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | self.do_stop_cb).............sel |
93e0 | 66 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 | f.stop_button.props.accelerator. |
9400 | 3d 20 5f 28 27 3c 43 74 72 6c 3e 73 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 | =._('<Ctrl>s').............toolb |
9420 | 61 72 5f 62 6f 78 2e 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 73 74 6f 70 5f | ar_box.toolbar.insert(self.stop_ |
9440 | 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 6f | button,.-1).............self.sto |
9460 | 70 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 | p_button.show()..............sep |
9480 | 61 72 61 74 6f 72 20 3d 20 67 74 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 | arator.=.gtk.SeparatorToolItem() |
94a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 64 72 61 77 28 | .............separator.set_draw( |
94c0 | 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 2e 74 6f | True).............toolbar_box.to |
94e0 | 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 20 20 20 | olbar.insert(separator,.-1)..... |
9500 | 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 | ........separator.show()........ |
9520 | 20 20 20 20 20 20 23 20 54 68 65 20 48 65 6c 70 20 74 6f 6f 6c 62 61 72 20 2d 2d 20 73 61 6d 70 | ......#.The.Help.toolbar.--.samp |
9540 | 6c 65 20 63 6f 64 65 20 61 6e 64 20 68 6f 76 65 72 20 68 65 6c 70 0a 20 20 20 20 20 20 20 20 20 | le.code.and.hover.help.......... |
9560 | 20 20 20 68 65 6c 70 5f 74 6f 6f 6c 62 61 72 20 3d 20 67 74 6b 2e 54 6f 6f 6c 62 61 72 28 29 0a | ...help_toolbar.=.gtk.Toolbar(). |
9580 | 20 20 20 20 20 20 20 20 20 20 20 20 73 61 6d 70 6c 65 73 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f | ............samples_button.=.Too |
95a0 | 6c 42 75 74 74 6f 6e 28 20 22 73 74 6f 63 6b 2d 6f 70 65 6e 22 20 29 0a 20 20 20 20 20 20 20 20 | lButton(."stock-open".)......... |
95c0 | 20 20 20 20 73 61 6d 70 6c 65 73 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f | ....samples_button.set_tooltip(_ |
95e0 | 28 27 53 61 6d 70 6c 65 73 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 61 6d 70 6c 65 73 | ('Samples')).............samples |
9600 | 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e | _button.connect('clicked',.self. |
9620 | 64 6f 5f 73 61 6d 70 6c 65 73 5f 63 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 61 6d 70 6c | do_samples_cb).............sampl |
9640 | 65 73 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 6c | es_button.show().............hel |
9660 | 70 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 61 6d 70 6c 65 73 5f 62 75 74 74 6f 6e 2c | p_toolbar.insert(samples_button, |
9680 | 20 2d 31 29 0a 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 20 | .-1)..................separator. |
96a0 | 3d 20 67 74 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 | =.gtk.SeparatorToolItem()....... |
96c0 | 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 70 72 6f 70 73 2e 64 72 61 77 20 3d 20 54 72 75 | ......separator.props.draw.=.Tru |
96e0 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 6c 70 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 | e.............help_toolbar.inser |
9700 | 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 | t(separator,.-1).............sep |
9720 | 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | arator.show()..............self. |
9740 | 68 6f 76 65 72 5f 68 65 6c 70 5f 6c 61 62 65 6c 20 3d 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 | hover_help_label.=.\............ |
9760 | 20 20 20 67 74 6b 2e 4c 61 62 65 6c 28 5f 28 22 4d 6f 76 65 20 74 68 65 20 63 75 72 73 6f 72 20 | ...gtk.Label(_("Move.the.cursor. |
9780 | 6f 76 65 72 20 74 68 65 20 6f 72 61 6e 67 65 20 70 61 6c 65 74 74 65 20 66 6f 72 20 68 65 6c 70 | over.the.orange.palette.for.help |
97a0 | 2e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 76 65 72 5f 68 65 6c 70 | .")).............self.hover_help |
97c0 | 5f 6c 61 62 65 6c 2e 73 65 74 5f 6c 69 6e 65 5f 77 72 61 70 28 54 72 75 65 29 0a 20 20 20 20 20 | _label.set_line_wrap(True)...... |
97e0 | 20 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 76 65 72 5f 68 65 6c 70 5f 6c 61 62 65 6c 2e 73 68 6f | .......self.hover_help_label.sho |
9800 | 77 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 76 65 72 5f 74 6f 6f 6c 69 | w().............self.hover_tooli |
9820 | 74 65 6d 20 3d 20 67 74 6b 2e 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 | tem.=.gtk.ToolItem()............ |
9840 | 20 73 65 6c 66 2e 68 6f 76 65 72 5f 74 6f 6f 6c 69 74 65 6d 2e 61 64 64 28 73 65 6c 66 2e 68 6f | .self.hover_toolitem.add(self.ho |
9860 | 76 65 72 5f 68 65 6c 70 5f 6c 61 62 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 6c 70 | ver_help_label).............help |
9880 | 5f 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 68 6f 76 65 72 5f 74 6f 6f 6c 69 | _toolbar.insert(self.hover_tooli |
98a0 | 74 65 6d 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 6f 76 65 72 5f | tem,.-1).............self.hover_ |
98c0 | 74 6f 6f 6c 69 74 65 6d 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 6c | toolitem.show()..............hel |
98e0 | 70 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 62 61 72 42 75 74 74 6f 6e | p_toolbar_button.=.ToolbarButton |
9900 | 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 65 6c 3d 5f 28 22 48 | (.....................label=_("H |
9920 | 65 6c 70 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 3d | elp"),.....................page= |
9940 | 68 65 6c 70 5f 74 6f 6f 6c 62 61 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | help_toolbar,................... |
9960 | 20 20 69 63 6f 6e 5f 6e 61 6d 65 3d 27 68 65 6c 70 2d 74 6f 6f 6c 62 61 72 27 29 0a 20 20 20 20 | ..icon_name='help-toolbar')..... |
9980 | 20 20 20 20 20 20 20 20 68 65 6c 70 5f 74 6f 6f 6c 62 61 72 2e 73 68 6f 77 28 29 0a 20 20 20 20 | ........help_toolbar.show()..... |
99a0 | 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 2e 74 6f 6f 6c 62 61 72 2e 69 6e 73 65 | ........toolbar_box.toolbar.inse |
99c0 | 72 74 28 68 65 6c 70 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 | rt(help_toolbar_button,.-1)..... |
99e0 | 20 20 20 20 20 20 20 20 68 65 6c 70 5f 74 6f 6f 6c 62 61 72 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 | ........help_toolbar_button.show |
9a00 | 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 20 3d 20 67 74 6b 2e | ()..............separator.=.gtk. |
9a20 | 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | SeparatorToolItem()............. |
9a40 | 73 65 70 61 72 61 74 6f 72 2e 70 72 6f 70 73 2e 64 72 61 77 20 3d 20 46 61 6c 73 65 0a 20 20 20 | separator.props.draw.=.False.... |
9a60 | 20 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 65 78 70 61 6e 64 28 54 72 | .........separator.set_expand(Tr |
9a80 | 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 2e 74 6f 6f 6c | ue).............toolbar_box.tool |
9aa0 | 62 61 72 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 20 20 20 20 20 | bar.insert(separator,.-1)....... |
9ac0 | 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 | ......separator.show().......... |
9ae0 | 20 20 20 20 23 20 54 68 65 20 65 76 65 72 2d 70 72 65 73 65 6e 74 20 53 74 6f 70 20 42 75 74 74 | ....#.The.ever-present.Stop.Butt |
9b00 | 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 6f 70 5f 62 75 74 74 6f 6e 20 3d 20 53 74 6f | on.............stop_button.=.Sto |
9b20 | 70 42 75 74 74 6f 6e 28 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 6f 70 5f 62 | pButton(self).............stop_b |
9b40 | 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 27 3c 43 74 72 6c | utton.props.accelerator.=.'<Ctrl |
9b60 | 3e 51 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f 78 2e 74 6f 6f 6c | >Q'.............toolbar_box.tool |
9b80 | 62 61 72 2e 69 6e 73 65 72 74 28 73 74 6f 70 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 | bar.insert(stop_button,.-1)..... |
9ba0 | 20 20 20 20 20 20 20 20 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 | ........stop_button.show()...... |
9bc0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 74 5f 74 6f 6f 6c 62 61 72 5f 62 6f 78 28 74 6f 6f | ........self.set_toolbar_box(too |
9be0 | 6c 62 61 72 5f 62 6f 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 6f 6c 62 61 72 5f 62 6f | lbar_box).............toolbar_bo |
9c00 | 78 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 | x.show()..........else:......... |
9c20 | 20 20 20 20 23 20 55 73 65 20 70 72 65 2d 30 2e 38 36 20 74 6f 6f 6c 62 61 72 20 64 65 73 69 67 | ....#.Use.pre-0.86.toolbar.desig |
9c40 | 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 6f 6f 6c 62 6f 78 20 3d 20 61 63 74 | n.............self.toolbox.=.act |
9c60 | 69 76 69 74 79 2e 41 63 74 69 76 69 74 79 54 6f 6f 6c 62 6f 78 28 73 65 6c 66 29 0a 20 20 20 20 | ivity.ActivityToolbox(self)..... |
9c80 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 74 5f 74 6f 6f 6c 62 6f 78 28 73 65 6c 66 2e 74 6f | ........self.set_toolbox(self.to |
9ca0 | 6f 6c 62 6f 78 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 41 64 64 20 61 64 64 69 74 69 | olbox)..............#.Add.additi |
9cc0 | 6f 6e 61 6c 20 70 61 6e 65 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 72 6f | onal.panels.............self.pro |
9ce0 | 6a 65 63 74 54 6f 6f 6c 62 61 72 20 3d 20 50 72 6f 6a 65 63 74 54 6f 6f 6c 62 61 72 28 73 65 6c | jectToolbar.=.ProjectToolbar(sel |
9d00 | 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 6f 6f 6c 62 6f 78 2e 61 64 64 5f | f).............self.toolbox.add_ |
9d20 | 74 6f 6f 6c 62 61 72 28 20 5f 28 27 50 72 6f 6a 65 63 74 27 29 2c 20 73 65 6c 66 2e 70 72 6f 6a | toolbar(._('Project'),.self.proj |
9d40 | 65 63 74 54 6f 6f 6c 62 61 72 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 76 69 | ectToolbar.).............self.vi |
9d60 | 65 77 54 6f 6f 6c 62 61 72 20 3d 20 56 69 65 77 54 6f 6f 6c 62 61 72 28 73 65 6c 66 29 0a 20 20 | ewToolbar.=.ViewToolbar(self)... |
9d80 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 6f 6f 6c 62 6f 78 2e 61 64 64 5f 74 6f 6f 6c 62 | ..........self.toolbox.add_toolb |
9da0 | 61 72 28 5f 28 27 56 69 65 77 27 29 2c 20 73 65 6c 66 2e 76 69 65 77 54 6f 6f 6c 62 61 72 29 0a | ar(_('View'),.self.viewToolbar). |
9dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 64 69 74 54 6f 6f 6c 62 61 72 20 3d 20 45 | ............self.editToolbar.=.E |
9de0 | 64 69 74 54 6f 6f 6c 62 61 72 38 34 28 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | ditToolbar84(self).............s |
9e00 | 65 6c 66 2e 74 6f 6f 6c 62 6f 78 2e 61 64 64 5f 74 6f 6f 6c 62 61 72 28 5f 28 27 45 64 69 74 27 | elf.toolbox.add_toolbar(_('Edit' |
9e20 | 29 2c 20 73 65 6c 66 2e 65 64 69 74 54 6f 6f 6c 62 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ),.self.editToolbar)............ |
9e40 | 20 73 65 6c 66 2e 73 61 76 65 61 73 54 6f 6f 6c 62 61 72 20 3d 20 53 61 76 65 41 73 54 6f 6f 6c | .self.saveasToolbar.=.SaveAsTool |
9e60 | 62 61 72 28 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 6f 6f 6c 62 | bar(self).............self.toolb |
9e80 | 6f 78 2e 61 64 64 5f 74 6f 6f 6c 62 61 72 28 20 5f 28 27 49 6d 70 6f 72 74 2f 45 78 70 6f 72 74 | ox.add_toolbar(._('Import/Export |
9ea0 | 27 29 2c 20 73 65 6c 66 2e 73 61 76 65 61 73 54 6f 6f 6c 62 61 72 20 29 0a 20 20 20 20 20 20 20 | '),.self.saveasToolbar.)........ |
9ec0 | 20 20 20 20 20 73 65 6c 66 2e 68 65 6c 70 54 6f 6f 6c 62 61 72 20 3d 20 48 65 6c 70 54 6f 6f 6c | .....self.helpToolbar.=.HelpTool |
9ee0 | 62 61 72 28 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 6f 6f 6c 62 | bar(self).............self.toolb |
9f00 | 6f 78 2e 61 64 64 5f 74 6f 6f 6c 62 61 72 28 5f 28 27 48 65 6c 70 27 29 2c 20 73 65 6c 66 2e 68 | ox.add_toolbar(_('Help'),.self.h |
9f20 | 65 6c 70 54 6f 6f 6c 62 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 6f 6f | elpToolbar).............self.too |
9f40 | 6c 62 6f 78 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 53 65 74 20 74 | lbox.show()..............#.Set.t |
9f60 | 68 65 20 70 72 6f 6a 65 63 74 20 74 6f 6f 6c 62 61 72 20 61 73 20 74 68 65 20 69 6e 69 74 69 61 | he.project.toolbar.as.the.initia |
9f80 | 6c 20 6f 6e 65 20 73 65 6c 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e | l.one.selected.............self. |
9fa0 | 74 6f 6f 6c 62 6f 78 2e 73 65 74 5f 63 75 72 72 65 6e 74 5f 74 6f 6f 6c 62 61 72 28 31 29 0a 0a | toolbox.set_current_toolbar(1).. |
9fc0 | 20 20 20 20 64 65 66 20 5f 73 65 74 75 70 5f 73 63 72 6f 6c 6c 65 64 5f 77 69 6e 64 6f 77 28 73 | ....def._setup_scrolled_window(s |
9fe0 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 43 72 65 61 74 65 20 61 20 73 63 72 6f 6c | elf):.........""".Create.a.scrol |
a000 | 6c 65 64 20 77 69 6e 64 6f 77 20 74 6f 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 74 75 72 74 6c 65 | led.window.to.contain.the.turtle |
a020 | 20 63 61 6e 76 61 73 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 77 20 3d 20 67 | .canvas..""".........self.sw.=.g |
a040 | 74 6b 2e 53 63 72 6f 6c 6c 65 64 57 69 6e 64 6f 77 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | tk.ScrolledWindow().........self |
a060 | 2e 73 65 74 5f 63 61 6e 76 61 73 28 73 65 6c 66 2e 73 77 29 0a 20 20 20 20 20 20 20 20 73 65 6c | .set_canvas(self.sw).........sel |
a080 | 66 2e 73 77 2e 73 65 74 5f 70 6f 6c 69 63 79 28 67 74 6b 2e 50 4f 4c 49 43 59 5f 41 55 54 4f 4d | f.sw.set_policy(gtk.POLICY_AUTOM |
a0a0 | 41 54 49 43 2c 20 67 74 6b 2e 50 4f 4c 49 43 59 5f 41 55 54 4f 4d 41 54 49 43 29 0a 20 20 20 20 | ATIC,.gtk.POLICY_AUTOMATIC)..... |
a0c0 | 20 20 20 20 73 65 6c 66 2e 73 77 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 20 20 63 61 6e 76 61 | ....self.sw.show().........canva |
a0e0 | 73 20 3d 20 67 74 6b 2e 44 72 61 77 69 6e 67 41 72 65 61 28 29 0a 20 20 20 20 20 20 20 20 77 69 | s.=.gtk.DrawingArea().........wi |
a100 | 64 74 68 20 3d 20 67 74 6b 2e 67 64 6b 2e 73 63 72 65 65 6e 5f 77 69 64 74 68 28 29 20 2a 20 32 | dth.=.gtk.gdk.screen_width().*.2 |
a120 | 0a 20 20 20 20 20 20 20 20 68 65 69 67 68 74 20 3d 20 67 74 6b 2e 67 64 6b 2e 73 63 72 65 65 6e | .........height.=.gtk.gdk.screen |
a140 | 5f 68 65 69 67 68 74 28 29 20 2a 20 32 0a 20 20 20 20 20 20 20 20 63 61 6e 76 61 73 2e 73 65 74 | _height().*.2.........canvas.set |
a160 | 5f 73 69 7a 65 5f 72 65 71 75 65 73 74 28 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 20 0a 20 20 | _size_request(width,.height).... |
a180 | 20 20 20 20 20 20 73 65 6c 66 2e 73 77 2e 61 64 64 5f 77 69 74 68 5f 76 69 65 77 70 6f 72 74 28 | ......self.sw.add_with_viewport( |
a1a0 | 63 61 6e 76 61 73 29 0a 20 20 20 20 20 20 20 20 63 61 6e 76 61 73 2e 73 68 6f 77 28 29 0a 20 20 | canvas).........canvas.show()... |
a1c0 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 61 6e 76 61 73 0a 0a 20 20 20 20 64 65 66 20 5f 63 68 | ......return.canvas......def._ch |
a1e0 | 65 63 6b 5f 76 65 72 5f 63 68 61 6e 67 65 28 73 65 6c 66 2c 20 64 61 74 61 70 61 74 68 29 3a 0a | eck_ver_change(self,.datapath):. |
a200 | 20 20 20 20 20 20 20 20 22 22 22 20 54 6f 20 62 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 | ........""".To.be.replaced.with. |
a220 | 64 61 74 65 20 63 68 65 63 6b 69 6e 67 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 23 20 43 68 65 | date.checking..""".........#.Che |
a240 | 63 6b 20 74 6f 20 73 65 65 20 69 66 20 74 68 65 20 76 65 72 73 69 6f 6e 20 68 61 73 20 63 68 61 | ck.to.see.if.the.version.has.cha |
a260 | 6e 67 65 64 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 65 | nged.........try:.............ve |
a280 | 72 73 69 6f 6e 20 3d 20 6f 73 2e 65 6e 76 69 72 6f 6e 5b 27 53 55 47 41 52 5f 42 55 4e 44 4c 45 | rsion.=.os.environ['SUGAR_BUNDLE |
a2a0 | 5f 56 45 52 53 49 4f 4e 27 5d 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 | _VERSION'].........except:...... |
a2c0 | 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 3d 20 22 20 75 6e 6b 6e 6f 77 6e 22 0a 0a 20 20 20 | .......version.=.".unknown"..... |
a2e0 | 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 20 3d 20 22 76 65 72 73 69 6f 6e 2e 64 61 74 22 0a 20 20 | .....filename.=."version.dat"... |
a300 | 20 20 20 20 20 20 76 65 72 73 69 6f 6e 64 61 74 61 20 3d 20 5b 5d 0a 20 20 20 20 20 20 20 20 6e | ......versiondata.=.[].........n |
a320 | 65 77 76 65 72 73 69 6f 6e 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 | ewversion.=.True.........try:... |
a340 | 20 20 20 20 20 20 20 20 20 20 46 49 4c 45 20 3d 20 6f 70 65 6e 28 6f 73 2e 70 61 74 68 2e 6a 6f | ..........FILE.=.open(os.path.jo |
a360 | 69 6e 28 64 61 74 61 70 61 74 68 2c 20 66 69 6c 65 6e 61 6d 65 29 2c 20 22 72 22 29 0a 20 20 20 | in(datapath,.filename),."r").... |
a380 | 20 20 20 20 20 20 20 20 20 69 66 20 46 49 4c 45 2e 72 65 61 64 6c 69 6e 65 28 29 20 3d 3d 20 76 | .........if.FILE.readline().==.v |
a3a0 | 65 72 73 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 76 65 72 73 69 | ersion:.................newversi |
a3c0 | 6f 6e 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 | on.=.False.........except:...... |
a3e0 | 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 43 72 65 61 74 69 6e 67 20 61 | ......._logger.debug("Creating.a |
a400 | 20 74 61 6d 79 62 6c 6f 63 6b 2e 70 79 20 4a 6f 75 72 6e 61 6c 20 65 6e 74 72 79 22 29 0a 0a 20 | .tamyblock.py.Journal.entry")... |
a420 | 20 20 20 20 20 20 20 23 20 4d 61 6b 65 20 73 75 72 65 20 74 68 65 72 65 20 69 73 20 61 20 63 6f | .......#.Make.sure.there.is.a.co |
a440 | 70 79 20 6f 66 20 74 61 6d 79 62 6c 6f 63 6b 2e 70 79 20 69 6e 20 74 68 65 20 4a 6f 75 72 6e 61 | py.of.tamyblock.py.in.the.Journa |
a460 | 6c 0a 20 20 20 20 20 20 20 20 69 66 20 6e 65 77 76 65 72 73 69 6f 6e 3a 0a 20 20 20 20 20 20 20 | l.........if.newversion:........ |
a480 | 20 20 20 20 20 64 73 6f 62 6a 65 63 74 20 3d 20 64 61 74 61 73 74 6f 72 65 2e 63 72 65 61 74 65 | .....dsobject.=.datastore.create |
a4a0 | 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 | ().............dsobject.metadata |
a4c0 | 5b 27 74 69 74 6c 65 27 5d 20 3d 20 27 74 61 6d 79 62 6c 6f 63 6b 2e 70 79 27 0a 20 20 20 20 20 | ['title'].=.'tamyblock.py'...... |
a4e0 | 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 69 63 6f 6e 2d 63 | .......dsobject.metadata['icon-c |
a500 | 6f 6c 6f 72 27 5d 20 3d 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 66 69 | olor'].=.\.................profi |
a520 | 6c 65 2e 67 65 74 5f 63 6f 6c 6f 72 28 29 2e 74 6f 5f 73 74 72 69 6e 67 28 29 0a 20 20 20 20 20 | le.get_color().to_string()...... |
a540 | 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 6d 69 6d 65 5f 74 | .......dsobject.metadata['mime_t |
a560 | 79 70 65 27 5d 20 3d 20 27 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 27 0a 20 20 20 20 20 20 20 20 | ype'].=.'text/x-python'......... |
a580 | 20 20 20 20 64 73 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 61 63 74 69 76 69 74 79 27 | ....dsobject.metadata['activity' |
a5a0 | 5d 20 3d 20 27 6f 72 67 2e 6c 61 70 74 6f 70 2e 50 69 70 70 79 27 0a 20 20 20 20 20 20 20 20 20 | ].=.'org.laptop.Pippy'.......... |
a5c0 | 20 20 20 64 73 6f 62 6a 65 63 74 2e 73 65 74 5f 66 69 6c 65 5f 70 61 74 68 28 6f 73 2e 70 61 74 | ...dsobject.set_file_path(os.pat |
a5e0 | 68 2e 6a 6f 69 6e 28 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 76 69 | h.join(.\.................activi |
a600 | 74 79 2e 67 65 74 5f 62 75 6e 64 6c 65 5f 70 61 74 68 28 29 2c 20 27 74 61 6d 79 62 6c 6f 63 6b | ty.get_bundle_path(),.'tamyblock |
a620 | 2e 70 79 27 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 73 74 6f 72 65 2e 77 72 69 | .py')).............datastore.wri |
a640 | 74 65 28 64 73 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 | te(dsobject).............dsobjec |
a660 | 74 2e 64 65 73 74 72 6f 79 28 29 0a 0a 20 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 64 61 74 61 | t.destroy()..........versiondata |
a680 | 2e 61 70 70 65 6e 64 28 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 66 69 6c 65 5f 68 61 | .append(version).........file_ha |
a6a0 | 6e 64 6c 65 20 3d 20 6f 70 65 6e 28 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 64 61 74 61 70 61 74 | ndle.=.open(os.path.join(datapat |
a6c0 | 68 2c 20 66 69 6c 65 6e 61 6d 65 29 2c 20 22 77 22 29 0a 20 20 20 20 20 20 20 20 66 69 6c 65 5f | h,.filename),."w").........file_ |
a6e0 | 68 61 6e 64 6c 65 2e 77 72 69 74 65 6c 69 6e 65 73 28 76 65 72 73 69 6f 6e 64 61 74 61 29 0a 20 | handle.writelines(versiondata).. |
a700 | 20 20 20 20 20 20 20 66 69 6c 65 5f 68 61 6e 64 6c 65 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 | .......file_handle.close()...... |
a720 | 20 20 20 72 65 74 75 72 6e 0a 20 20 20 20 0a 20 20 20 20 64 65 66 20 5f 73 65 74 75 70 5f 63 61 | ...return..........def._setup_ca |
a740 | 6e 76 61 73 28 73 65 6c 66 2c 20 63 61 6e 76 61 73 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 | nvas(self,.canvas):.........""". |
a760 | 49 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 74 75 72 74 6c 65 20 61 72 74 20 63 61 6e 76 61 73 | Initialize.the.turtle.art.canvas |
a780 | 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 62 75 6e 64 6c 65 5f 70 61 74 68 20 3d 20 61 63 74 69 | ..""".........bundle_path.=.acti |
a7a0 | 76 69 74 79 2e 67 65 74 5f 62 75 6e 64 6c 65 5f 70 61 74 68 28 29 0a 20 20 20 20 20 20 20 20 73 | vity.get_bundle_path().........s |
a7c0 | 65 6c 66 2e 74 77 20 3d 20 54 75 72 74 6c 65 41 72 74 57 69 6e 64 6f 77 28 63 61 6e 76 61 73 2c | elf.tw.=.TurtleArtWindow(canvas, |
a7e0 | 20 62 75 6e 64 6c 65 5f 70 61 74 68 2c 20 73 65 6c 66 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .bundle_path,.self,............. |
a800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 66 69 6c 65 2e 67 65 | ......................profile.ge |
a820 | 74 5f 63 6f 6c 6f 72 28 29 2e 74 6f 5f 73 74 72 69 6e 67 28 29 29 0a 20 20 20 20 20 20 20 20 23 | t_color().to_string()).........# |
a840 | 20 73 65 6c 66 2e 74 77 2e 61 63 74 69 76 69 74 79 20 3d 20 73 65 6c 66 0a 20 20 20 20 20 20 20 | .self.tw.activity.=.self........ |
a860 | 20 73 65 6c 66 2e 74 77 2e 77 69 6e 64 6f 77 2e 67 72 61 62 5f 66 6f 63 75 73 28 29 0a 20 20 20 | .self.tw.window.grab_focus().... |
a880 | 20 20 20 20 20 70 61 74 68 20 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 6f 73 2e 65 6e 76 69 | .....path.=.os.path.join(os.envi |
a8a0 | 72 6f 6e 5b 27 53 55 47 41 52 5f 41 43 54 49 56 49 54 59 5f 52 4f 4f 54 27 5d 2c 20 27 64 61 74 | ron['SUGAR_ACTIVITY_ROOT'],.'dat |
a8c0 | 61 27 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 73 61 76 65 5f 66 6f 6c 64 65 72 20 | a').........self.tw.save_folder. |
a8e0 | 3d 20 70 61 74 68 0a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 | =.path..........if.self._jobject |
a900 | 20 61 6e 64 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 2e 66 69 6c 65 5f 70 61 74 68 3a 0a 20 20 | .and.self._jobject.file_path:... |
a920 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 61 64 5f 66 69 6c 65 28 73 65 6c 66 2e 5f 6a | ..........self.read_file(self._j |
a940 | 6f 62 6a 65 63 74 2e 66 69 6c 65 5f 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 20 | object.file_path).........else:. |
a960 | 23 20 69 66 20 6e 65 77 2c 20 6c 6f 61 64 20 61 20 73 74 61 72 74 20 62 72 69 63 6b 20 6f 6e 74 | #.if.new,.load.a.start.brick.ont |
a980 | 6f 20 74 68 65 20 63 61 6e 76 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 | o.the.canvas.............self.tw |
a9a0 | 2e 6c 6f 61 64 5f 73 74 61 72 74 28 29 0a 0a 20 20 20 20 64 65 66 20 5f 6c 6f 61 64 5f 70 79 74 | .load_start()......def._load_pyt |
a9c0 | 68 6f 6e 5f 63 6f 64 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 43 68 65 63 | hon_code(self):.........""".Chec |
a9e0 | 6b 20 74 6f 20 73 65 65 20 69 66 20 74 68 65 72 65 20 69 73 20 50 79 74 68 6f 6e 20 63 6f 64 65 | k.to.see.if.there.is.Python.code |
aa00 | 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a | .to.be.loaded..""".........try:. |
aa20 | 20 20 20 20 20 20 20 20 20 20 20 20 64 73 6f 62 6a 65 63 74 20 3d 20 64 61 74 61 73 74 6f 72 65 | ............dsobject.=.datastore |
aa40 | 2e 67 65 74 28 73 65 6c 66 2e 6d 65 74 61 64 61 74 61 5b 27 70 79 74 68 6f 6e 20 63 6f 64 65 27 | .get(self.metadata['python.code' |
aa60 | 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6c 6f 61 64 5f 70 79 74 68 6f 6e | ]).............self._load_python |
aa80 | 28 64 73 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 | (dsobject).........except:...... |
aaa0 | 20 20 20 20 20 20 20 70 61 73 73 0a 0a 20 20 20 20 64 65 66 20 5f 73 65 74 75 70 5f 73 68 61 72 | .......pass......def._setup_shar |
aac0 | 69 6e 67 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 41 20 73 69 6d 70 6c 69 73 | ing(self):.........""".A.simplis |
aae0 | 74 69 63 20 73 68 61 72 69 6e 67 20 6d 6f 64 65 6c 3a 20 74 68 65 20 73 68 61 72 65 72 20 69 73 | tic.sharing.model:.the.sharer.is |
ab00 | 20 74 68 65 20 6d 61 73 74 65 72 20 22 22 22 0a 20 20 20 20 20 20 20 20 23 20 54 4f 44 4f 3a 20 | .the.master.""".........#.TODO:. |
ab20 | 68 61 6e 64 20 6f 66 66 20 72 6f 6c 65 20 6f 66 20 6d 61 73 74 65 72 20 69 73 20 73 68 61 72 65 | hand.off.role.of.master.is.share |
ab40 | 72 20 6c 65 61 76 65 73 0a 20 20 20 20 20 20 20 20 23 20 47 65 74 20 74 68 65 20 50 72 65 73 65 | r.leaves.........#.Get.the.Prese |
ab60 | 6e 63 65 20 53 65 72 76 69 63 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 73 65 72 76 69 63 | nce.Service.........self.pservic |
ab80 | 65 20 3d 20 70 72 65 73 65 6e 63 65 73 65 72 76 69 63 65 2e 67 65 74 5f 69 6e 73 74 61 6e 63 65 | e.=.presenceservice.get_instance |
aba0 | 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 69 74 69 61 74 69 6e 67 20 3d 20 4e 6f 6e | ().........self.initiating.=.Non |
abc0 | 65 20 23 20 73 68 61 72 69 6e 67 20 28 54 72 75 65 29 20 6f 72 20 6a 6f 69 6e 69 6e 67 20 28 46 | e.#.sharing.(True).or.joining.(F |
abe0 | 61 6c 73 65 29 0a 0a 20 20 20 20 20 20 20 20 23 20 41 64 64 20 6d 79 20 62 75 64 64 79 20 6f 62 | alse)..........#.Add.my.buddy.ob |
ac00 | 6a 65 63 74 20 74 6f 20 74 68 65 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 6f 77 6e 65 72 20 3d | ject.to.the.list.........owner.= |
ac20 | 20 73 65 6c 66 2e 70 73 65 72 76 69 63 65 2e 67 65 74 5f 6f 77 6e 65 72 28 29 0a 20 20 20 20 20 | .self.pservice.get_owner()...... |
ac40 | 20 20 20 73 65 6c 66 2e 6f 77 6e 65 72 20 3d 20 6f 77 6e 65 72 0a 20 20 20 20 20 20 20 20 73 65 | ...self.owner.=.owner.........se |
ac60 | 6c 66 2e 74 77 2e 62 75 64 64 69 65 73 2e 61 70 70 65 6e 64 28 73 65 6c 66 2e 6f 77 6e 65 72 29 | lf.tw.buddies.append(self.owner) |
ac80 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 73 68 61 72 65 20 3d 20 22 22 0a 0a 20 20 20 20 20 | .........self._share.=.""....... |
aca0 | 20 20 20 73 65 6c 66 2e 63 6f 6e 6e 65 63 74 28 27 73 68 61 72 65 64 27 2c 20 73 65 6c 66 2e 5f | ...self.connect('shared',.self._ |
acc0 | 73 68 61 72 65 64 5f 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6e 6e 65 63 74 28 | shared_cb).........self.connect( |
ace0 | 27 6a 6f 69 6e 65 64 27 2c 20 73 65 6c 66 2e 5f 6a 6f 69 6e 65 64 5f 63 62 29 0a 0a 0a 20 20 20 | 'joined',.self._joined_cb)...... |
ad00 | 20 64 65 66 20 5f 73 65 74 75 70 5f 76 69 73 69 62 69 6c 69 74 79 5f 68 61 6e 64 6c 65 72 28 73 | .def._setup_visibility_handler(s |
ad20 | 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 4e 6f 74 69 66 79 20 77 68 65 6e 20 74 68 | elf):.........""".Notify.when.th |
ad40 | 65 20 76 69 73 69 62 69 6c 69 74 79 20 73 74 61 74 65 20 63 68 61 6e 67 65 73 20 22 22 22 0a 20 | e.visibility.state.changes.""".. |
ad60 | 20 20 20 20 20 20 20 73 65 6c 66 2e 61 64 64 5f 65 76 65 6e 74 73 28 67 74 6b 2e 67 64 6b 2e 56 | .......self.add_events(gtk.gdk.V |
ad80 | 49 53 49 42 49 4c 49 54 59 5f 4e 4f 54 49 46 59 5f 4d 41 53 4b 29 0a 20 20 20 20 20 20 20 20 73 | ISIBILITY_NOTIFY_MASK).........s |
ada0 | 65 6c 66 2e 63 6f 6e 6e 65 63 74 28 22 76 69 73 69 62 69 6c 69 74 79 2d 6e 6f 74 69 66 79 2d 65 | elf.connect("visibility-notify-e |
adc0 | 76 65 6e 74 22 2c 20 73 65 6c 66 2e 5f 5f 76 69 73 69 62 69 6c 69 74 79 5f 6e 6f 74 69 66 79 5f | vent",.self.__visibility_notify_ |
ade0 | 63 62 29 0a 0a 20 20 20 20 64 65 66 20 77 72 69 74 65 5f 66 69 6c 65 28 73 65 6c 66 2c 20 66 69 | cb)......def.write_file(self,.fi |
ae00 | 6c 65 5f 70 61 74 68 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 57 72 69 74 65 20 74 68 65 20 | le_path):.........""".Write.the. |
ae20 | 70 72 6f 6a 65 63 74 20 74 6f 20 74 68 65 20 4a 6f 75 72 6e 61 6c 2e 20 22 22 22 0a 20 20 20 20 | project.to.the.Journal.."""..... |
ae40 | 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 57 72 69 74 65 20 66 69 6c 65 3a 20 25 | ...._logger.debug("Write.file:.% |
ae60 | 73 22 20 25 20 66 69 6c 65 5f 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6d 65 74 | s".%.file_path).........self.met |
ae80 | 61 64 61 74 61 5b 27 6d 69 6d 65 5f 74 79 70 65 27 5d 20 3d 20 27 61 70 70 6c 69 63 61 74 69 6f | adata['mime_type'].=.'applicatio |
aea0 | 6e 2f 78 2d 74 75 72 74 6c 65 2d 61 72 74 27 0a 20 20 20 20 20 20 20 20 64 61 74 61 5f 74 6f 5f | n/x-turtle-art'.........data_to_ |
aec0 | 66 69 6c 65 28 73 65 6c 66 2e 74 77 2e 61 73 73 65 6d 62 6c 65 5f 64 61 74 61 5f 74 6f 5f 73 61 | file(self.tw.assemble_data_to_sa |
aee0 | 76 65 28 29 2c 20 66 69 6c 65 5f 70 61 74 68 29 0a 0a 20 20 20 20 64 65 66 20 72 65 61 64 5f 66 | ve(),.file_path)......def.read_f |
af00 | 69 6c 65 28 73 65 6c 66 2c 20 66 69 6c 65 5f 70 61 74 68 2c 20 72 75 6e 5f 69 74 20 3d 20 54 72 | ile(self,.file_path,.run_it.=.Tr |
af20 | 75 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 52 65 61 64 20 61 20 70 72 6f 6a 65 63 74 20 | ue):.........""".Read.a.project. |
af40 | 69 6e 20 61 6e 64 20 74 68 65 6e 20 72 75 6e 20 69 74 2e 20 22 22 22 0a 20 20 20 20 20 20 20 20 | in.and.then.run.it.."""......... |
af60 | 69 6d 70 6f 72 74 20 74 61 72 66 69 6c 65 2c 20 6f 73 2c 20 74 65 6d 70 66 69 6c 65 2c 20 73 68 | import.tarfile,.os,.tempfile,.sh |
af80 | 75 74 69 6c 0a 0a 20 20 20 20 20 20 20 20 69 66 20 68 61 73 61 74 74 72 28 73 65 6c 66 2c 20 27 | util..........if.hasattr(self,.' |
afa0 | 74 77 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 | tw'):............._logger.debug( |
afc0 | 22 52 65 61 64 20 66 69 6c 65 3a 20 25 73 22 20 25 20 20 66 69 6c 65 5f 70 61 74 68 29 0a 20 20 | "Read.file:.%s".%..file_path)... |
afe0 | 20 20 20 20 20 20 20 20 20 20 23 20 43 6f 75 6c 64 20 62 65 20 61 20 67 74 61 72 20 28 6e 65 77 | ..........#.Could.be.a.gtar.(new |
b000 | 65 72 20 62 75 69 6c 64 73 29 20 6f 72 20 74 61 72 20 28 37 36 37 29 20 66 69 6c 65 0a 20 20 20 | er.builds).or.tar.(767).file.... |
b020 | 20 20 20 20 20 20 20 20 20 69 66 20 66 69 6c 65 5f 70 61 74 68 5b 2d 35 3a 5d 20 3d 3d 20 22 2e | .........if.file_path[-5:].==.". |
b040 | 67 74 61 72 22 20 6f 72 20 66 69 6c 65 5f 70 61 74 68 5b 2d 34 3a 5d 20 3d 3d 20 22 2e 74 61 72 | gtar".or.file_path[-4:].==.".tar |
b060 | 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 5f 66 64 20 3d 20 74 61 72 66 | ":.................tar_fd.=.tarf |
b080 | 69 6c 65 2e 6f 70 65 6e 28 66 69 6c 65 5f 70 61 74 68 2c 20 27 72 27 29 0a 20 20 20 20 20 20 20 | ile.open(file_path,.'r')........ |
b0a0 | 20 20 20 20 20 20 20 20 20 74 6d 70 64 69 72 20 3d 20 74 65 6d 70 66 69 6c 65 2e 6d 6b 64 74 65 | .........tmpdir.=.tempfile.mkdte |
b0c0 | 6d 70 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 | mp().................try:....... |
b0e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 57 65 27 6c 6c 20 67 65 74 20 27 74 61 5f 63 6f | ..............#.We'll.get.'ta_co |
b100 | 64 65 2e 74 61 27 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 61 20 27 74 61 5f 69 6d 61 67 65 2e | de.ta'.and.possibly.a.'ta_image. |
b120 | 70 6e 67 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 62 75 74 20 77 | png'.....................#.but.w |
b140 | 65 20 77 69 6c 6c 20 69 67 6e 6f 72 65 20 74 68 65 20 2e 70 6e 67 20 66 69 6c 65 0a 20 20 20 20 | e.will.ignore.the..png.file..... |
b160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 49 66 20 72 75 6e 5f 69 74 20 69 73 20 54 | ................#.If.run_it.is.T |
b180 | 72 75 65 2c 20 77 65 20 77 61 6e 74 20 74 6f 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 70 72 6f | rue,.we.want.to.create.a.new.pro |
b1a0 | 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 5f 66 64 2e | ject.....................tar_fd. |
b1c0 | 65 78 74 72 61 63 74 61 6c 6c 28 74 6d 70 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | extractall(tmpdir).............. |
b1e0 | 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 6c 6f 61 64 5f 66 69 6c 65 73 28 6f 73 2e 70 61 74 | .......self.tw.load_files(os.pat |
b200 | 68 2e 6a 6f 69 6e 28 74 6d 70 64 69 72 2c 27 74 61 5f 63 6f 64 65 2e 74 61 27 29 2c 20 5c 0a 20 | h.join(tmpdir,'ta_code.ta'),.\.. |
b220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
b240 | 20 20 20 20 20 20 20 72 75 6e 5f 69 74 29 20 23 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 70 72 | .......run_it).#.create.a.new.pr |
b260 | 6f 6a 65 63 74 20 66 6c 61 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c | oject.flag.................final |
b280 | 6c 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 75 74 69 6c 2e 72 | ly:.....................shutil.r |
b2a0 | 6d 74 72 65 65 28 74 6d 70 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mtree(tmpdir)................... |
b2c0 | 20 20 74 61 72 5f 66 64 2e 63 6c 6f 73 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 4f | ..tar_fd.close().............#.O |
b2e0 | 74 68 65 72 77 69 73 65 2c 20 61 73 73 75 6d 65 20 69 74 20 69 73 20 61 20 2e 74 61 20 66 69 6c | therwise,.assume.it.is.a..ta.fil |
b300 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e.............else:............. |
b320 | 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 74 72 79 69 6e 67 20 74 6f 20 6f 70 65 | ...._logger.debug("trying.to.ope |
b340 | 6e 20 61 20 2e 74 61 20 66 69 6c 65 3a 22 20 2b 20 66 69 6c 65 5f 70 61 74 68 29 0a 20 20 20 20 | n.a..ta.file:".+.file_path)..... |
b360 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 6c 6f 61 64 5f 66 69 6c 65 73 28 66 | ............self.tw.load_files(f |
b380 | 69 6c 65 5f 70 61 74 68 2c 20 72 75 6e 5f 69 74 29 0a 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 | ile_path,.run_it)............... |
b3a0 | 20 23 20 72 75 6e 20 74 68 65 20 61 63 74 69 76 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .#.run.the.activity............. |
b3c0 | 69 66 20 72 75 6e 5f 69 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 3a 0a | if.run_it:.................try:. |
b3e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 55 73 65 20 30 2e 38 36 20 74 | ....................#.Use.0.86.t |
b400 | 6f 6f 6c 62 61 72 20 64 65 73 69 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | oolbar.design................... |
b420 | 20 20 73 65 6c 66 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 69 63 6f 6e 28 22 73 74 6f | ..self.stop_button.set_icon("sto |
b440 | 70 69 74 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a | piton").................except:. |
b460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 20 55 73 65 20 70 72 65 2d 30 2e | ....................#.Use.pre-0. |
b480 | 38 36 20 74 6f 6f 6c 62 61 72 20 64 65 73 69 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 86.toolbar.design............... |
b4a0 | 20 20 20 20 20 20 73 65 6c 66 2e 70 72 6f 6a 65 63 74 54 6f 6f 6c 62 61 72 2e 73 74 6f 70 2e 73 | ......self.projectToolbar.stop.s |
b4c0 | 65 74 5f 69 63 6f 6e 28 22 73 74 6f 70 69 74 6f 6e 22 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 | et_icon("stopiton")............. |
b4e0 | 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 72 75 6e 5f 62 75 74 74 6f 6e 28 30 29 0a 20 20 20 20 20 | .....self.tw.run_button(0)...... |
b500 | 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 | ...else:............._logger.deb |
b520 | 75 67 28 22 44 65 66 65 72 72 69 6e 67 20 72 65 61 64 69 6e 67 20 66 69 6c 65 20 25 73 22 20 25 | ug("Deferring.reading.file.%s".% |
b540 | 20 20 66 69 6c 65 5f 70 61 74 68 29 0a 0a 20 20 20 20 64 65 66 20 6a 6f 62 6a 65 63 74 5f 6e 65 | ..file_path)......def.jobject_ne |
b560 | 77 5f 70 61 74 63 68 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 53 61 76 65 20 | w_patch(self):.........""".Save. |
b580 | 69 6e 73 74 61 6e 63 65 20 74 6f 20 4a 6f 75 72 6e 61 6c 2e 20 22 22 22 0a 20 20 20 20 20 20 20 | instance.to.Journal.."""........ |
b5a0 | 20 6f 6c 64 6a 20 3d 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 73 65 | .oldj.=.self._jobject.........se |
b5c0 | 6c 66 2e 5f 6a 6f 62 6a 65 63 74 20 3d 20 64 61 74 61 73 74 6f 72 65 2e 63 72 65 61 74 65 28 29 | lf._jobject.=.datastore.create() |
b5e0 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b | .........self._jobject.metadata[ |
b600 | 27 74 69 74 6c 65 27 5d 20 3d 20 6f 6c 64 6a 2e 6d 65 74 61 64 61 74 61 5b 27 74 69 74 6c 65 27 | 'title'].=.oldj.metadata['title' |
b620 | 5d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 | ].........self._jobject.metadata |
b640 | 5b 27 74 69 74 6c 65 5f 73 65 74 5f 62 79 5f 75 73 65 72 27 5d 20 3d 20 5c 0a 20 20 20 20 20 20 | ['title_set_by_user'].=.\....... |
b660 | 20 20 20 20 20 20 6f 6c 64 6a 2e 6d 65 74 61 64 61 74 61 5b 27 74 69 74 6c 65 5f 73 65 74 5f 62 | ......oldj.metadata['title_set_b |
b680 | 79 5f 75 73 65 72 27 5d 0a 20 20 20 20 20 20 20 20 23 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 | y_user'].........#.self._jobject |
b6a0 | 2e 6d 65 74 61 64 61 74 61 5b 27 61 63 74 69 76 69 74 79 27 5d 20 3d 20 73 65 6c 66 2e 67 65 74 | .metadata['activity'].=.self.get |
b6c0 | 5f 73 65 72 76 69 63 65 5f 6e 61 6d 65 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6a 6f | _service_name().........self._jo |
b6e0 | 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 61 63 74 69 76 69 74 79 5f 69 64 27 5d 20 3d 20 | bject.metadata['activity_id'].=. |
b700 | 73 65 6c 66 2e 67 65 74 5f 69 64 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6a 6f 62 6a | self.get_id().........self._jobj |
b720 | 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 6b 65 65 70 27 5d 20 3d 20 27 30 27 0a 20 20 20 20 20 | ect.metadata['keep'].=.'0'...... |
b740 | 20 20 20 23 20 49 73 20 74 68 69 73 20 74 68 65 20 63 6f 72 72 65 63 74 20 73 79 6e 74 61 78 20 | ...#.Is.this.the.correct.syntax. |
b760 | 66 6f 72 20 73 61 76 69 6e 67 20 74 68 65 20 62 75 64 64 69 65 73 20 6c 69 73 74 3f 0a 20 20 20 | for.saving.the.buddies.list?.... |
b780 | 20 20 20 20 20 23 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 62 | .....#.self._jobject.metadata['b |
b7a0 | 75 64 64 69 65 73 27 5d 20 3d 20 73 65 6c 66 2e 74 77 2e 62 75 64 64 69 65 73 0a 20 20 20 20 20 | uddies'].=.self.tw.buddies...... |
b7c0 | 20 20 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 2e 6d 65 74 61 64 61 74 61 5b 27 70 72 65 76 69 | ...self._jobject.metadata['previ |
b7e0 | 65 77 27 5d 20 3d 20 27 27 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 2e | ew'].=.''.........self._jobject. |
b800 | 6d 65 74 61 64 61 74 61 5b 27 69 63 6f 6e 2d 63 6f 6c 6f 72 27 5d 20 3d 20 70 72 6f 66 69 6c 65 | metadata['icon-color'].=.profile |
b820 | 2e 67 65 74 5f 63 6f 6c 6f 72 28 29 2e 74 6f 5f 73 74 72 69 6e 67 28 29 0a 20 20 20 20 20 20 20 | .get_color().to_string()........ |
b840 | 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 2e 66 69 6c 65 5f 70 61 74 68 20 3d 20 27 27 0a 20 20 | .self._jobject.file_path.=.''... |
b860 | 20 20 20 20 20 20 64 61 74 61 73 74 6f 72 65 2e 77 72 69 74 65 28 73 65 6c 66 2e 5f 6a 6f 62 6a | ......datastore.write(self._jobj |
b880 | 65 63 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6c 79 5f 68 61 6e 64 6c | ect,.................reply_handl |
b8a0 | 65 72 3d 73 65 6c 66 2e 5f 69 6e 74 65 72 6e 61 6c 5f 6a 6f 62 6a 65 63 74 5f 63 72 65 61 74 65 | er=self._internal_jobject_create |
b8c0 | 5f 63 62 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 68 61 6e 64 6c | _cb,.................error_handl |
b8e0 | 65 72 3d 73 65 6c 66 2e 5f 69 6e 74 65 72 6e 61 6c 5f 6a 6f 62 6a 65 63 74 5f 65 72 72 6f 72 5f | er=self._internal_jobject_error_ |
b900 | 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6a 6f 62 6a 65 63 74 2e 64 65 73 74 72 6f | cb).........self._jobject.destro |
b920 | 79 28 29 0a 0a 20 20 20 20 64 65 66 20 5f 63 6f 70 79 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 | y()......def._copy_cb(self,.butt |
b940 | 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 63 6c 69 70 42 6f 61 72 64 20 3d 20 67 74 6b 2e 43 6c 69 | on):.........clipBoard.=.gtk.Cli |
b960 | 70 62 6f 61 72 64 28 29 0a 20 20 20 20 20 20 20 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 | pboard()........._logger.debug(" |
b980 | 73 65 72 69 61 6c 69 7a 65 20 74 68 65 20 70 72 6f 6a 65 63 74 20 61 6e 64 20 63 6f 70 79 20 74 | serialize.the.project.and.copy.t |
b9a0 | 6f 20 63 6c 69 70 62 6f 61 72 64 22 29 0a 20 20 20 20 20 20 20 20 64 61 74 61 20 3d 20 73 65 6c | o.clipboard").........data.=.sel |
b9c0 | 66 2e 74 77 2e 61 73 73 65 6d 62 6c 65 5f 64 61 74 61 5f 74 6f 5f 73 61 76 65 28 46 61 6c 73 65 | f.tw.assemble_data_to_save(False |
b9e0 | 2c 20 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 69 66 20 64 61 74 61 20 69 73 20 6e 6f 74 20 | ,.False).........if.data.is.not. |
ba00 | 5b 5d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 64 61 74 61 5f 74 6f 5f 73 | []:.............text.=.data_to_s |
ba20 | 74 72 69 6e 67 28 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 69 70 42 6f 61 72 | tring(data).............clipBoar |
ba40 | 64 2e 73 65 74 5f 74 65 78 74 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 | d.set_text(text).........self.tw |
ba60 | 2e 70 61 73 74 65 5f 6f 66 66 73 65 74 20 3d 20 32 30 0a 0a 20 20 20 20 64 65 66 20 5f 70 61 73 | .paste_offset.=.20......def._pas |
ba80 | 74 65 5f 63 62 28 73 65 6c 66 2c 20 62 75 74 74 6f 6e 29 3a 0a 20 20 20 20 20 20 20 20 63 6c 69 | te_cb(self,.button):.........cli |
baa0 | 70 42 6f 61 72 64 20 3d 20 67 74 6b 2e 43 6c 69 70 62 6f 61 72 64 28 29 0a 20 20 20 20 20 20 20 | pBoard.=.gtk.Clipboard()........ |
bac0 | 20 5f 6c 6f 67 67 65 72 2e 64 65 62 75 67 28 22 70 61 73 74 65 20 74 6f 20 74 68 65 20 70 72 6f | ._logger.debug("paste.to.the.pro |
bae0 | 6a 65 63 74 22 29 0a 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 63 6c 69 70 42 6f 61 72 64 2e | ject").........text.=.clipBoard. |
bb00 | 77 61 69 74 5f 66 6f 72 5f 74 65 78 74 28 29 0a 20 20 20 20 20 20 20 20 69 66 20 74 65 78 74 20 | wait_for_text().........if.text. |
bb20 | 69 73 20 6e 6f 74 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 | is.not.None:.............if.self |
bb40 | 2e 74 77 2e 73 65 6c 65 63 74 65 64 5f 62 6c 6b 20 69 73 20 6e 6f 74 20 4e 6f 6e 65 20 61 6e 64 | .tw.selected_blk.is.not.None.and |
bb60 | 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 73 65 6c 65 63 74 65 | \................self.tw.selecte |
bb80 | 64 5f 62 6c 6b 2e 6e 61 6d 65 20 3d 3d 20 27 73 74 72 69 6e 67 27 3a 0a 20 20 20 20 20 20 20 20 | d_blk.name.==.'string':......... |
bba0 | 20 20 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e 20 74 65 78 74 3a 0a 20 20 20 20 20 20 20 20 20 | ........for.i.in.text:.......... |
bbc0 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 70 72 6f 63 65 73 73 5f 61 6c 70 68 61 | ...........self.tw.process_alpha |
bbe0 | 6e 75 6d 65 72 69 63 5f 69 6e 70 75 74 28 69 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 | numeric_input(i,.-1)............ |
bc00 | 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 73 65 6c 65 63 74 65 64 5f 62 6c 6b 2e 72 65 73 69 7a 65 | .....self.tw.selected_blk.resize |
bc20 | 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | ().............else:............ |
bc40 | 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 70 72 6f 63 65 73 73 5f 64 61 74 61 28 64 61 74 61 5f 66 | .....self.tw.process_data(data_f |
bc60 | 72 6f 6d 5f 73 74 72 69 6e 67 28 74 65 78 74 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rom_string(text),............... |
bc80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 77 2e 70 | .......................self.tw.p |
bca0 | 61 73 74 65 5f 6f 66 66 73 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | aste_offset).................sel |
bcc0 | 66 2e 74 77 2e 70 61 73 74 65 5f 6f 66 66 73 65 74 20 2b 3d 20 32 30 0a 0a 63 6c 61 73 73 20 43 | f.tw.paste_offset.+=.20..class.C |
bce0 | 68 61 74 54 75 62 65 28 45 78 70 6f 72 74 65 64 47 4f 62 6a 65 63 74 29 3a 0a 20 0a 20 20 20 20 | hatTube(ExportedGObject):....... |
bd00 | 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 74 75 62 65 2c 20 69 73 5f 69 6e 69 74 | def.__init__(self,.tube,.is_init |
bd20 | 69 61 74 6f 72 2c 20 73 74 61 63 6b 5f 72 65 63 65 69 76 65 64 5f 63 62 29 3a 0a 20 20 20 20 20 | iator,.stack_received_cb):...... |
bd40 | 20 20 20 22 22 22 43 6c 61 73 73 20 66 6f 72 20 73 65 74 74 69 6e 67 20 75 70 20 74 75 62 65 20 | ..."""Class.for.setting.up.tube. |
bd60 | 66 6f 72 20 73 68 61 72 69 6e 67 2e 22 22 22 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 43 68 | for.sharing.""".........super(Ch |
bd80 | 61 74 54 75 62 65 2c 20 73 65 6c 66 29 2e 5f 5f 69 6e 69 74 5f 5f 28 74 75 62 65 2c 20 50 41 54 | atTube,.self).__init__(tube,.PAT |
bda0 | 48 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 75 62 65 20 3d 20 74 75 62 65 0a 20 20 20 20 | H).........self.tube.=.tube..... |
bdc0 | 20 20 20 20 73 65 6c 66 2e 69 73 5f 69 6e 69 74 69 61 74 6f 72 20 3d 20 69 73 5f 69 6e 69 74 69 | ....self.is_initiator.=.is_initi |
bde0 | 61 74 6f 72 20 23 20 41 72 65 20 77 65 20 73 68 61 72 69 6e 67 20 6f 72 20 6a 6f 69 6e 69 6e 67 | ator.#.Are.we.sharing.or.joining |
be00 | 20 61 63 74 69 76 69 74 79 3f 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 63 6b 5f 72 65 | .activity?.........self.stack_re |
be20 | 63 65 69 76 65 64 5f 63 62 20 3d 20 73 74 61 63 6b 5f 72 65 63 65 69 76 65 64 5f 63 62 0a 20 20 | ceived_cb.=.stack_received_cb... |
be40 | 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 63 6b 20 3d 20 27 27 0a 0a 20 20 20 20 20 20 20 20 73 | ......self.stack.=.''..........s |
be60 | 65 6c 66 2e 74 75 62 65 2e 61 64 64 5f 73 69 67 6e 61 6c 5f 72 65 63 65 69 76 65 72 28 73 65 6c | elf.tube.add_signal_receiver(sel |
be80 | 66 2e 73 65 6e 64 5f 73 74 61 63 6b 5f 63 62 2c 20 27 53 65 6e 64 54 65 78 74 27 2c 20 49 46 41 | f.send_stack_cb,.'SendText',.IFA |
bea0 | 43 45 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 3d 50 41 54 48 2c 20 73 65 6e | CE,.\.............path=PATH,.sen |
bec0 | 64 65 72 5f 6b 65 79 77 6f 72 64 3d 27 73 65 6e 64 65 72 27 29 0a 0a 20 20 20 20 64 65 66 20 73 | der_keyword='sender')......def.s |
bee0 | 65 6e 64 5f 73 74 61 63 6b 5f 63 62 28 73 65 6c 66 2c 20 74 65 78 74 2c 20 73 65 6e 64 65 72 3d | end_stack_cb(self,.text,.sender= |
bf00 | 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6e 64 65 72 20 3d 3d 20 73 65 6c 66 | None):.........if.sender.==.self |
bf20 | 2e 74 75 62 65 2e 67 65 74 5f 75 6e 69 71 75 65 5f 6e 61 6d 65 28 29 3a 0a 20 20 20 20 20 20 20 | .tube.get_unique_name():........ |
bf40 | 20 20 20 20 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 63 6b 20 3d | .....return.........self.stack.= |
bf60 | 20 74 65 78 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 63 6b 5f 72 65 63 65 69 76 65 | .text.........self.stack_receive |
bf80 | 64 5f 63 62 28 74 65 78 74 29 0a 0a 20 20 20 20 40 73 69 67 6e 61 6c 28 64 62 75 73 5f 69 6e 74 | d_cb(text)......@signal(dbus_int |
bfa0 | 65 72 66 61 63 65 3d 49 46 41 43 45 2c 20 73 69 67 6e 61 74 75 72 65 3d 27 73 27 29 0a 20 20 20 | erface=IFACE,.signature='s').... |
bfc0 | 20 64 65 66 20 53 65 6e 64 54 65 78 74 28 73 65 6c 66 2c 20 74 65 78 74 29 3a 0a 20 20 20 20 20 | .def.SendText(self,.text):...... |
bfe0 | 20 20 20 73 65 6c 66 2e 73 74 61 63 6b 20 3d 20 74 65 78 74 0a 0a 63 6c 61 73 73 20 56 69 65 77 | ...self.stack.=.text..class.View |
c000 | 54 6f 6f 6c 62 61 72 28 67 74 6b 2e 54 6f 6f 6c 62 61 72 29 3a 0a 20 20 20 20 64 65 66 20 5f 5f | Toolbar(gtk.Toolbar):.....def.__ |
c020 | 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 63 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 56 69 | init__(self,.pc):.........""".Vi |
c040 | 65 77 20 74 6f 6f 6c 62 61 72 3a 20 66 75 6c 6c 73 63 72 65 65 6e 2c 20 43 61 72 74 65 73 69 61 | ew.toolbar:.fullscreen,.Cartesia |
c060 | 6e 2c 20 70 6f 6c 61 72 2c 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 22 22 22 0a 20 20 20 20 20 20 | n,.polar,.coordinates."""....... |
c080 | 20 20 67 74 6b 2e 54 6f 6f 6c 62 61 72 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 0a 20 20 20 | ..gtk.Toolbar.__init__(self).... |
c0a0 | 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 20 3d 20 70 63 0a 0a 20 20 20 20 20 20 20 | .....self.activity.=.pc......... |
c0c0 | 20 23 20 66 75 6c 6c 20 73 63 72 65 65 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 | .#.full.screen.........self.acti |
c0e0 | 76 69 74 79 2e 66 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 | vity.fullscreen_button.=.ToolBut |
c100 | 74 6f 6e 28 20 22 76 69 65 77 2d 66 75 6c 6c 73 63 72 65 65 6e 22 20 29 0a 20 20 20 20 20 20 20 | ton(."view-fullscreen".)........ |
c120 | 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 66 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e | .self.activity.fullscreen_button |
c140 | 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 46 75 6c 6c 73 63 72 65 65 6e 27 29 29 0a 20 20 | .set_tooltip(_('Fullscreen'))... |
c160 | 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 66 75 6c 6c 73 63 72 65 65 6e 5f 62 | ......self.activity.fullscreen_b |
c180 | 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 | utton.props.sensitive.=.True.... |
c1a0 | 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 | .....try:.............self.activ |
c1c0 | 69 74 79 2e 66 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 | ity.fullscreen_button.props.acce |
c1e0 | 6c 65 72 61 74 6f 72 20 3d 20 27 3c 41 6c 74 3e 45 6e 74 65 72 27 0a 20 20 20 20 20 20 20 20 65 | lerator.=.'<Alt>Enter'.........e |
c200 | 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 | xcept:.............pass......... |
c220 | 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 66 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 2e | self.activity.fullscreen_button. |
c240 | 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 | connect('clicked',.\............ |
c260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
c280 | 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 66 75 6c 6c 73 63 72 65 65 6e | .....self.activity.do_fullscreen |
c2a0 | 5f 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 | _cb).........self.insert(self.ac |
c2c0 | 74 69 76 69 74 79 2e 66 75 6c 6c 73 63 72 65 65 6e 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 | tivity.fullscreen_button,.-1)... |
c2e0 | 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 66 75 6c 6c 73 63 72 65 65 6e 5f 62 | ......self.activity.fullscreen_b |
c300 | 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 43 61 72 74 65 73 69 61 | utton.show()..........#.Cartesia |
c320 | 6e 20 63 6f 6f 72 64 69 6e 61 74 65 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 | n.coordinates.........self.activ |
c340 | 69 74 79 2e 63 61 72 74 65 73 69 61 6e 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f | ity.cartesian_button.=.ToolButto |
c360 | 6e 28 20 22 76 69 65 77 2d 43 61 72 74 65 73 69 61 6e 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 | n(."view-Cartesian".).........se |
c380 | 6c 66 2e 61 63 74 69 76 69 74 79 2e 63 61 72 74 65 73 69 61 6e 5f 62 75 74 74 6f 6e 2e 73 65 74 | lf.activity.cartesian_button.set |
c3a0 | 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 43 61 72 74 65 73 69 61 6e 20 63 6f 6f 72 64 69 6e 61 74 65 | _tooltip(_('Cartesian.coordinate |
c3c0 | 73 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 63 61 72 74 65 | s')).........self.activity.carte |
c3e0 | 73 69 61 6e 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 | sian_button.props.sensitive.=.Tr |
c400 | 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 63 61 72 74 65 73 69 | ue.........self.activity.cartesi |
c420 | 61 6e 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 5c 0a 20 | an_button.connect('clicked',.\.. |
c440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
c460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f | ...............self.activity.do_ |
c480 | 63 61 72 74 65 73 69 61 6e 5f 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 | cartesian_cb).........self.inser |
c4a0 | 74 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 63 61 72 74 65 73 69 61 6e 5f 62 75 74 74 6f 6e | t(self.activity.cartesian_button |
c4c0 | 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 63 61 72 74 | ,.-1).........self.activity.cart |
c4e0 | 65 73 69 61 6e 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 70 | esian_button.show()..........#.p |
c500 | 6f 6c 61 72 20 63 6f 6f 72 64 69 6e 61 74 65 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 | olar.coordinates.........self.ac |
c520 | 74 69 76 69 74 79 2e 70 6f 6c 61 72 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e | tivity.polar_button.=.ToolButton |
c540 | 28 20 22 76 69 65 77 2d 70 6f 6c 61 72 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 | (."view-polar".).........self.ac |
c560 | 74 69 76 69 74 79 2e 70 6f 6c 61 72 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 | tivity.polar_button.set_tooltip( |
c580 | 5f 28 27 50 6f 6c 61 72 20 63 6f 6f 72 64 69 6e 61 74 65 73 27 29 29 0a 20 20 20 20 20 20 20 20 | _('Polar.coordinates'))......... |
c5a0 | 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 70 6f 6c 61 72 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 | self.activity.polar_button.props |
c5c0 | 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 | .sensitive.=.True.........self.a |
c5e0 | 63 74 69 76 69 74 79 2e 70 6f 6c 61 72 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c | ctivity.polar_button.connect('cl |
c600 | 69 63 6b 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | icked',.\....................... |
c620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 | .....................self.activi |
c640 | 74 79 2e 64 6f 5f 70 6f 6c 61 72 5f 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 | ty.do_polar_cb).........self.ins |
c660 | 65 72 74 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 70 6f 6c 61 72 5f 62 75 74 74 6f 6e 2c 20 | ert(self.activity.polar_button,. |
c680 | 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 70 6f 6c 61 72 5f | -1).........self.activity.polar_ |
c6a0 | 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 | button.show()..........separator |
c6c0 | 20 3d 20 67 74 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 | .=.gtk.SeparatorToolItem()...... |
c6e0 | 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 64 72 61 77 28 54 72 75 65 29 0a 20 20 20 20 | ...separator.set_draw(True)..... |
c700 | 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 | ....self.insert(separator,.-1).. |
c720 | 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 | .......separator.show()......... |
c740 | 20 23 20 43 6f 6f 72 64 69 6e 61 74 65 73 20 6c 61 62 65 6c 0a 20 20 20 20 20 20 20 20 73 65 6c | .#.Coordinates.label.........sel |
c760 | 66 2e 61 63 74 69 76 69 74 79 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 6c 61 62 65 6c 20 3d 20 5c | f.activity.coordinates_label.=.\ |
c780 | 0a 20 20 20 20 20 20 20 20 20 20 67 74 6b 2e 4c 61 62 65 6c 28 5f 28 22 78 63 6f 72 22 29 20 2b | ...........gtk.Label(_("xcor").+ |
c7a0 | 20 22 3d 20 30 20 22 20 2b 20 5f 28 22 79 63 6f 72 22 29 20 2b 20 22 3d 20 30 20 22 20 2b 20 5c | ."=.0.".+._("ycor").+."=.0.".+.\ |
c7c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 28 22 68 65 61 64 69 6e 67 22 | ....................._("heading" |
c7e0 | 29 20 2b 20 22 3d 20 30 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 | ).+."=.0").........self.activity |
c800 | 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 6c 61 62 65 6c 2e 73 68 6f 77 28 29 0a 20 20 20 20 20 20 | .coordinates_label.show()....... |
c820 | 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 74 6f 6f 6c | ..self.activity.coordinates_tool |
c840 | 69 74 65 6d 20 3d 20 67 74 6b 2e 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 73 65 | item.=.gtk.ToolItem().........se |
c860 | 6c 66 2e 61 63 74 69 76 69 74 79 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 74 6f 6f 6c 69 74 65 6d | lf.activity.coordinates_toolitem |
c880 | 2e 61 64 64 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 6c | .add(self.activity.coordinates_l |
c8a0 | 61 62 65 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 | abel).........self.insert(self.a |
c8c0 | 63 74 69 76 69 74 79 2e 63 6f 6f 72 64 69 6e 61 74 65 73 5f 74 6f 6f 6c 69 74 65 6d 2c 20 2d 31 | ctivity.coordinates_toolitem,.-1 |
c8e0 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 63 6f 6f 72 64 69 6e 61 | ).........self.activity.coordina |
c900 | 74 65 73 5f 74 6f 6f 6c 69 74 65 6d 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 70 | tes_toolitem.show()..........sep |
c920 | 61 72 61 74 6f 72 20 3d 20 67 74 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 | arator.=.gtk.SeparatorToolItem() |
c940 | 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 64 72 61 77 28 46 61 6c 73 | .........separator.set_draw(Fals |
c960 | 65 29 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 65 78 70 61 6e 64 28 | e).........separator.set_expand( |
c980 | 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 | True).........self.insert(separa |
c9a0 | 74 6f 72 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 | tor,.-1).........separator.show( |
c9c0 | 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 69 7a 65 5f | )..........self.activity.resize_ |
c9e0 | 75 70 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 27 72 65 73 69 7a 65 2b 27 | up_button.=.ToolButton('resize+' |
ca00 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 69 7a 65 5f 75 | ).........self.activity.resize_u |
ca20 | 70 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 22 47 72 6f 77 20 62 6c 6f | p_button.set_tooltip(_("Grow.blo |
ca40 | 63 6b 73 22 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 | cks")).........self.activity.res |
ca60 | 69 7a 65 5f 75 70 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c | ize_up_button.connect('clicked', |
ca80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
caa0 | 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 72 65 73 69 7a 65 5f 62 | .......self.activity.do_resize_b |
cac0 | 6c 6f 63 6b 73 5f 63 62 2c 20 31 2e 35 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 | locks_cb,.1.5).........self.inse |
cae0 | 72 74 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 69 7a 65 5f 75 70 5f 62 75 74 74 6f | rt(self.activity.resize_up_butto |
cb00 | 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 | n,.-1).........self.activity.res |
cb20 | 69 7a 65 5f 75 70 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 | ize_up_button.show()..........se |
cb40 | 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 69 7a 65 5f 64 6f 77 6e 5f 62 75 74 74 6f 6e 20 3d | lf.activity.resize_down_button.= |
cb60 | 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 27 72 65 73 69 7a 65 2d 27 29 0a 20 20 20 20 20 20 20 20 73 | .ToolButton('resize-').........s |
cb80 | 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 69 7a 65 5f 64 6f 77 6e 5f 62 75 74 74 6f 6e 2e | elf.activity.resize_down_button. |
cba0 | 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 22 53 68 72 69 6e 6b 20 62 6c 6f 63 6b 73 22 29 29 0a | set_tooltip(_("Shrink.blocks")). |
cbc0 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 69 7a 65 5f 64 6f 77 | ........self.activity.resize_dow |
cbe0 | 6e 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 0a 20 20 20 20 | n_button.connect('clicked',..... |
cc00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c | .............................sel |
cc20 | 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 72 65 73 69 7a 65 5f 62 6c 6f 63 6b 73 5f 63 62 2c 20 | f.activity.do_resize_blocks_cb,. |
cc40 | 30 2e 36 36 37 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e | 0.667).........self.insert(self. |
cc60 | 61 63 74 69 76 69 74 79 2e 72 65 73 69 7a 65 5f 64 6f 77 6e 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 | activity.resize_down_button,.-1) |
cc80 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 69 7a 65 5f 64 6f | .........self.activity.resize_do |
cca0 | 77 6e 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 | wn_button.show()..........self.a |
ccc0 | 63 74 69 76 69 74 79 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 | ctivity.rescale_button.=.ToolBut |
cce0 | 74 6f 6e 28 27 65 78 70 61 6e 64 2d 63 6f 6f 72 64 69 6e 61 74 65 73 27 29 0a 20 20 20 20 20 20 | ton('expand-coordinates')....... |
cd00 | 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f 6e 2e 73 | ..self.activity.rescale_button.s |
cd20 | 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 22 52 65 73 63 61 6c 65 20 63 6f 6f 72 64 69 6e 61 74 65 | et_tooltip(_("Rescale.coordinate |
cd40 | 73 20 75 70 22 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 | s.up")).........self.activity.re |
cd60 | 73 63 61 6c 65 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 | scale_button.connect('clicked',. |
cd80 | 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | \............................... |
cda0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f | ...............self.activity.do_ |
cdc0 | 72 65 73 63 61 6c 65 5f 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 | rescale_cb).........self.insert( |
cde0 | 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 63 61 6c 65 5f 62 75 74 74 6f 6e 2c 20 2d 31 | self.activity.rescale_button,.-1 |
ce00 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 65 73 63 61 6c 65 5f | ).........self.activity.rescale_ |
ce20 | 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 63 6c 61 73 73 20 45 64 69 74 54 6f 6f 6c 62 61 72 | button.show()..class.EditToolbar |
ce40 | 38 34 28 67 74 6b 2e 54 6f 6f 6c 62 61 72 29 3a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f | 84(gtk.Toolbar):.....def.__init_ |
ce60 | 5f 28 73 65 6c 66 2c 20 70 63 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 45 64 69 74 20 74 6f | _(self,.pc):.........""".Edit.to |
ce80 | 6f 6c 62 61 72 3a 20 63 6f 70 79 20 61 6e 64 20 70 61 73 74 65 20 74 65 78 74 20 61 6e 64 20 73 | olbar:.copy.and.paste.text.and.s |
cea0 | 74 61 63 6b 73 20 22 22 22 0a 20 20 20 20 20 20 20 20 67 74 6b 2e 54 6f 6f 6c 62 61 72 2e 5f 5f | tacks.""".........gtk.Toolbar.__ |
cec0 | 69 6e 69 74 5f 5f 28 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 | init__(self).........self.activi |
cee0 | 74 79 20 3d 20 70 63 0a 0a 20 20 20 20 20 20 20 20 23 20 43 6f 70 79 20 62 75 74 74 6f 6e 0a 20 | ty.=.pc..........#.Copy.button.. |
cf00 | 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 70 79 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 | .......self.copy.=.ToolButton(." |
cf20 | 65 64 69 74 2d 63 6f 70 79 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 70 79 2e 73 | edit-copy".).........self.copy.s |
cf40 | 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 43 6f 70 79 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 | et_tooltip(_('Copy')).........se |
cf60 | 6c 66 2e 63 6f 70 79 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 | lf.copy.props.sensitive.=.True.. |
cf80 | 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 70 79 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 | .......self.copy.connect('clicke |
cfa0 | 64 27 2c 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 5f 63 6f 70 79 5f 63 62 29 0a 20 20 20 20 | d',.self.activity._copy_cb)..... |
cfc0 | 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 70 79 2e 70 | ....try:.............self.copy.p |
cfe0 | 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 27 3c 43 74 72 6c 3e 63 27 0a 20 20 20 | rops.accelerator.=.'<Ctrl>c'.... |
d000 | 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 | .....except:.............pass... |
d020 | 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 63 6f 70 79 2c 20 2d 31 29 | ......self.insert(self.copy,.-1) |
d040 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 70 79 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 | .........self.copy.show()....... |
d060 | 20 20 20 23 20 50 61 73 74 65 20 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 | ...#.Paste.button.........self.p |
d080 | 61 73 74 65 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 65 64 69 74 2d 70 61 73 74 65 22 20 | aste.=.ToolButton(."edit-paste". |
d0a0 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 73 74 65 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 | ).........self.paste.set_tooltip |
d0c0 | 28 5f 28 27 50 61 73 74 65 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 73 74 65 2e | (_('Paste')).........self.paste. |
d0e0 | 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 | props.sensitive.=.True.........s |
d100 | 65 6c 66 2e 70 61 73 74 65 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c | elf.paste.connect('clicked',.sel |
d120 | 66 2e 61 63 74 69 76 69 74 79 2e 5f 70 61 73 74 65 5f 63 62 29 0a 20 20 20 20 20 20 20 20 74 72 | f.activity._paste_cb).........tr |
d140 | 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 61 73 74 65 2e 70 72 6f 70 73 2e | y:.............self.paste.props. |
d160 | 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 27 3c 43 74 72 6c 3e 76 27 0a 20 20 20 20 20 20 20 20 | accelerator.=.'<Ctrl>v'......... |
d180 | 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 | except:.............pass........ |
d1a0 | 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 70 61 73 74 65 2c 20 2d 31 29 0a 20 20 20 | .self.insert(self.paste,.-1).... |
d1c0 | 20 20 20 20 20 73 65 6c 66 2e 70 61 73 74 65 2e 73 68 6f 77 28 29 0a 0a 63 6c 61 73 73 20 48 65 | .....self.paste.show()..class.He |
d1e0 | 6c 70 54 6f 6f 6c 62 61 72 28 67 74 6b 2e 54 6f 6f 6c 62 61 72 29 3a 0a 20 20 20 20 64 65 66 20 | lpToolbar(gtk.Toolbar):.....def. |
d200 | 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 63 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 | __init__(self,.pc):.........""". |
d220 | 48 65 6c 70 20 74 6f 6f 6c 62 61 72 3a 20 4a 75 73 74 20 61 6e 20 69 63 6f 6e 20 61 6e 64 20 61 | Help.toolbar:.Just.an.icon.and.a |
d240 | 20 6c 61 62 65 6c 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 20 68 6f 76 65 72 20 68 65 6c 70 | .label.for.displaying.hover.help |
d260 | 20 22 22 22 0a 20 20 20 20 20 20 20 20 67 74 6b 2e 54 6f 6f 6c 62 61 72 2e 5f 5f 69 6e 69 74 5f | .""".........gtk.Toolbar.__init_ |
d280 | 5f 28 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 20 3d 20 | _(self).........self.activity.=. |
d2a0 | 70 63 0a 0a 20 20 20 20 20 20 20 20 23 20 48 65 6c 70 20 69 63 6f 6e 0a 20 20 20 20 20 20 20 20 | pc..........#.Help.icon......... |
d2c0 | 73 65 6c 66 2e 68 65 6c 70 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 68 65 6c 70 2d 74 6f | self.help.=.ToolButton(."help-to |
d2e0 | 6f 6c 62 61 72 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 65 6c 70 2e 70 72 6f 70 73 | olbar".).........self.help.props |
d300 | 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | .sensitive.=.False.........self. |
d320 | 69 6e 73 65 72 74 28 73 65 6c 66 2e 68 65 6c 70 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 | insert(self.help,.-1).........se |
d340 | 6c 66 2e 68 65 6c 70 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 48 65 6c 70 20 6c | lf.help.show()..........#.Help.l |
d360 | 61 62 65 6c 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 68 6f 76 65 72 | abel.........self.activity.hover |
d380 | 5f 68 65 6c 70 5f 6c 61 62 65 6c 20 3d 20 5c 0a 20 20 20 20 20 20 20 20 20 20 67 74 6b 2e 4c 61 | _help_label.=.\...........gtk.La |
d3a0 | 62 65 6c 28 5f 28 22 4d 6f 76 65 20 74 68 65 20 63 75 72 73 6f 72 20 6f 76 65 72 20 74 68 65 20 | bel(_("Move.the.cursor.over.the. |
d3c0 | 6f 72 61 6e 67 65 20 70 61 6c 65 74 74 65 20 66 6f 72 20 68 65 6c 70 2e 22 29 29 0a 20 20 20 20 | orange.palette.for.help."))..... |
d3e0 | 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 68 6f 76 65 72 5f 68 65 6c 70 5f 6c 61 62 | ....self.activity.hover_help_lab |
d400 | 65 6c 2e 73 65 74 5f 6c 69 6e 65 5f 77 72 61 70 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 73 | el.set_line_wrap(True).........s |
d420 | 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 68 6f 76 65 72 5f 68 65 6c 70 5f 6c 61 62 65 6c 2e 73 68 | elf.activity.hover_help_label.sh |
d440 | 6f 77 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 68 6f 76 65 72 | ow().........self.activity.hover |
d460 | 5f 74 6f 6f 6c 69 74 65 6d 20 3d 20 67 74 6b 2e 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 | _toolitem.=.gtk.ToolItem()...... |
d480 | 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 68 6f 76 65 72 5f 74 6f 6f 6c 69 74 65 6d 2e | ...self.activity.hover_toolitem. |
d4a0 | 61 64 64 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 68 6f 76 65 72 5f 68 65 6c 70 5f 6c 61 62 | add(self.activity.hover_help_lab |
d4c0 | 65 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 74 | el).........self.insert(self.act |
d4e0 | 69 76 69 74 79 2e 68 6f 76 65 72 5f 74 6f 6f 6c 69 74 65 6d 2c 20 2d 31 29 0a 20 20 20 20 20 20 | ivity.hover_toolitem,.-1)....... |
d500 | 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 68 6f 76 65 72 5f 74 6f 6f 6c 69 74 65 6d 2e 73 | ..self.activity.hover_toolitem.s |
d520 | 68 6f 77 28 29 0a 0a 63 6c 61 73 73 20 53 61 76 65 41 73 54 6f 6f 6c 62 61 72 28 67 74 6b 2e 54 | how()..class.SaveAsToolbar(gtk.T |
d540 | 6f 6f 6c 62 61 72 29 3a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 | oolbar):.....def.__init__(self,. |
d560 | 70 63 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 20 53 61 76 65 41 73 20 74 6f 6f 6c 62 61 72 20 | pc):.........""".SaveAs.toolbar. |
d580 | 22 22 22 0a 20 20 20 20 20 20 20 20 67 74 6b 2e 54 6f 6f 6c 62 61 72 2e 5f 5f 69 6e 69 74 5f 5f | """.........gtk.Toolbar.__init__ |
d5a0 | 28 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 20 3d 20 70 | (self).........self.activity.=.p |
d5c0 | 63 0a 0a 20 20 20 20 20 20 20 20 23 20 48 54 4d 4c 20 73 61 76 65 20 73 6f 75 72 63 65 20 62 75 | c..........#.HTML.save.source.bu |
d5e0 | 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f | tton.........self.activity.save_ |
d600 | 61 73 5f 68 74 6d 6c 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 68 74 6d 6c 6f 66 66 22 20 | as_html.=.ToolButton(."htmloff". |
d620 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f 61 73 5f | ).........self.activity.save_as_ |
d640 | 68 74 6d 6c 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 53 61 76 65 20 61 73 20 48 54 4d 4c | html.set_tooltip(_('Save.as.HTML |
d660 | 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f 61 | ')).........self.activity.save_a |
d680 | 73 5f 68 74 6d 6c 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 | s_html.props.sensitive.=.True... |
d6a0 | 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f 61 73 5f 68 74 6d 6c | ......self.activity.save_as_html |
d6c0 | 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 | .connect('clicked',.\........... |
d6e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
d700 | 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 73 61 76 65 5f 61 73 5f 68 74 6d 6c 5f 63 | .self.activity.do_save_as_html_c |
d720 | 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 74 69 | b).........self.insert(self.acti |
d740 | 76 69 74 79 2e 73 61 76 65 5f 61 73 5f 68 74 6d 6c 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 | vity.save_as_html,.-1).........s |
d760 | 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f 61 73 5f 68 74 6d 6c 2e 73 68 6f 77 28 29 | elf.activity.save_as_html.show() |
d780 | 0a 0a 20 20 20 20 20 20 20 20 23 20 42 65 72 6b 65 6c 65 79 20 4c 6f 67 6f 20 73 61 76 65 20 73 | ..........#.Berkeley.Logo.save.s |
d7a0 | 6f 75 72 63 65 20 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 | ource.button.........self.activi |
d7c0 | 74 79 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 6c | ty.save_as_logo.=.ToolButton(."l |
d7e0 | 6f 67 6f 2d 73 61 76 65 6f 66 66 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 | ogo-saveoff".).........self.acti |
d800 | 76 69 74 79 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 | vity.save_as_logo.set_tooltip(_( |
d820 | 27 53 61 76 65 20 4c 6f 67 6f 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 | 'Save.Logo')).........self.activ |
d840 | 69 74 79 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 | ity.save_as_logo.props.sensitive |
d860 | 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 | .=.True.........self.activity.sa |
d880 | 76 65 5f 61 73 5f 6c 6f 67 6f 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 5c 0a | ve_as_logo.connect('clicked',.\. |
d8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
d8c0 | 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 73 61 76 65 | ...........self.activity.do_save |
d8e0 | 5f 61 73 5f 6c 6f 67 6f 5f 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 | _as_logo_cb).........self.insert |
d900 | 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f 61 73 5f 6c 6f 67 6f 2c 20 2d 31 29 | (self.activity.save_as_logo,.-1) |
d920 | 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f 61 73 5f 6c | .........self.activity.save_as_l |
d940 | 6f 67 6f 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 53 61 76 65 20 61 73 20 69 6d | ogo.show()..........#.Save.as.im |
d960 | 61 67 65 20 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 | age.button.........self.activity |
d980 | 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 65 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 69 6d | .save_as_image.=.ToolButton(."im |
d9a0 | 61 67 65 2d 73 61 76 65 6f 66 66 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 | age-saveoff".).........self.acti |
d9c0 | 76 69 74 79 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 65 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f | vity.save_as_image.set_tooltip(_ |
d9e0 | 28 27 53 61 76 65 20 61 73 20 69 6d 61 67 65 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | ('Save.as.image')).........self. |
da00 | 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 65 2e 70 72 6f 70 73 2e 73 65 6e | activity.save_as_image.props.sen |
da20 | 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 | sitive.=.True.........self.activ |
da40 | 69 74 79 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 65 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b | ity.save_as_image.connect('click |
da60 | 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ed',.\.......................... |
da80 | 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 73 61 76 65 5f | ..........self.activity.do_save_ |
daa0 | 61 73 5f 69 6d 61 67 65 5f 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 | as_image_cb).........self.insert |
dac0 | 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f 61 73 5f 69 6d 61 67 65 2c 20 2d 31 | (self.activity.save_as_image,.-1 |
dae0 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 76 65 5f 61 73 5f | ).........self.activity.save_as_ |
db00 | 69 6d 61 67 65 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 20 | image.show()..........separator. |
db20 | 3d 20 67 74 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 | =.gtk.SeparatorToolItem()....... |
db40 | 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 64 72 61 77 28 54 72 75 65 29 0a 20 20 20 20 20 | ..separator.set_draw(True)...... |
db60 | 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 20 | ...self.insert(separator,.-1)... |
db80 | 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 | ......separator.show().......... |
dba0 | 23 20 50 69 70 70 79 20 6c 6f 61 64 20 6d 79 62 6c 6f 63 6b 20 73 6f 75 72 63 65 20 62 75 74 74 | #.Pippy.load.myblock.source.butt |
dbc0 | 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6c 6f 61 64 5f 70 79 | on.........self.activity.load_py |
dbe0 | 74 68 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 70 69 70 70 79 2d 6f 70 65 6e 6f 66 | thon.=.ToolButton(."pippy-openof |
dc00 | 66 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6c 6f 61 64 5f | f".).........self.activity.load_ |
dc20 | 70 79 74 68 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 4c 6f 61 64 20 6d 79 20 62 6c | python.set_tooltip(_('Load.my.bl |
dc40 | 6f 63 6b 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6c 6f 61 | ock')).........self.activity.loa |
dc60 | 64 5f 70 79 74 68 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a | d_python.props.sensitive.=.True. |
dc80 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6c 6f 61 64 5f 70 79 74 68 6f | ........self.activity.load_pytho |
dca0 | 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 | n.connect('clicked',.\.......... |
dcc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
dce0 | 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 6c 6f 61 64 5f 70 79 74 68 6f 6e 5f 63 62 | .self.activity.do_load_python_cb |
dd00 | 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 74 69 76 | ).........self.insert(self.activ |
dd20 | 69 74 79 2e 6c 6f 61 64 5f 70 79 74 68 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c | ity.load_python,.-1).........sel |
dd40 | 66 2e 61 63 74 69 76 69 74 79 2e 6c 6f 61 64 5f 70 79 74 68 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 | f.activity.load_python.show()... |
dd60 | 20 20 20 20 20 20 20 23 20 4f 70 65 6e 20 54 41 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20 74 68 | .......#.Open.TA.project.from.th |
dd80 | 65 20 4a 6f 75 72 6e 61 6c 20 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 | e.Journal..........self.activity |
dda0 | 2e 6c 6f 61 64 5f 74 61 5f 70 72 6f 6a 65 63 74 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 27 6c | .load_ta_project.=.ToolButton('l |
ddc0 | 6f 61 64 2d 66 72 6f 6d 2d 6a 6f 75 72 6e 61 6c 27 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e | oad-from-journal').........self. |
dde0 | 61 63 74 69 76 69 74 79 2e 6c 6f 61 64 5f 74 61 5f 70 72 6f 6a 65 63 74 2e 73 65 74 5f 74 6f 6f | activity.load_ta_project.set_too |
de00 | 6c 74 69 70 28 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ltip(\.......................... |
de20 | 20 20 20 20 20 20 20 20 20 5f 28 22 49 6d 70 6f 72 74 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20 | ........._("Import.project.from. |
de40 | 74 68 65 20 4a 6f 75 72 6e 61 6c 22 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 | the.Journal")).........self.acti |
de60 | 76 69 74 79 2e 6c 6f 61 64 5f 74 61 5f 70 72 6f 6a 65 63 74 2e 70 72 6f 70 73 2e 73 65 6e 73 69 | vity.load_ta_project.props.sensi |
de80 | 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 | tive.=.True.........self.activit |
dea0 | 79 2e 6c 6f 61 64 5f 74 61 5f 70 72 6f 6a 65 63 74 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b | y.load_ta_project.connect('click |
dec0 | 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ed',.\.......................... |
dee0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 6c 6f 61 | ............self.activity.do_loa |
df00 | 64 5f 74 61 5f 70 72 6f 6a 65 63 74 5f 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e | d_ta_project_cb).........self.in |
df20 | 73 65 72 74 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6c 6f 61 64 5f 74 61 5f 70 72 6f 6a 65 | sert(self.activity.load_ta_proje |
df40 | 63 74 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6c 6f | ct,.-1).........self.activity.lo |
df60 | 61 64 5f 74 61 5f 70 72 6f 6a 65 63 74 2e 73 68 6f 77 28 29 0a 0a 0a 63 6c 61 73 73 20 50 72 6f | ad_ta_project.show()...class.Pro |
df80 | 6a 65 63 74 54 6f 6f 6c 62 61 72 28 67 74 6b 2e 54 6f 6f 6c 62 61 72 29 3a 0a 0a 20 20 20 20 64 | jectToolbar(gtk.Toolbar):......d |
dfa0 | 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 70 63 29 3a 0a 20 20 20 20 20 20 20 20 22 | ef.__init__(self,.pc):........." |
dfc0 | 22 22 20 50 72 6f 6a 65 63 74 20 74 6f 6f 6c 62 61 72 20 22 22 22 0a 20 20 20 20 20 20 20 20 67 | "".Project.toolbar.""".........g |
dfe0 | 74 6b 2e 54 6f 6f 6c 62 61 72 2e 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 0a 20 20 20 20 20 20 | tk.Toolbar.__init__(self)....... |
e000 | 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 20 3d 20 70 63 0a 0a 20 20 20 20 20 20 20 20 23 20 | ..self.activity.=.pc..........#. |
e020 | 70 61 6c 65 74 74 65 20 62 75 74 74 6f 6e 20 28 62 6c 6f 63 6b 73 29 0a 20 20 20 20 20 20 20 20 | palette.button.(blocks)......... |
e040 | 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 20 3d 20 54 | self.activity.palette_button.=.T |
e060 | 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 70 61 6c 65 74 74 65 6f 66 66 22 20 29 0a 20 20 20 20 20 20 | oolButton(."paletteoff".)....... |
e080 | 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 | ..self.activity.palette_button.s |
e0a0 | 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 48 69 64 65 20 70 61 6c 65 74 74 65 27 29 29 0a 20 20 | et_tooltip(_('Hide.palette'))... |
e0c0 | 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 | ......self.activity.palette_butt |
e0e0 | 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 | on.props.sensitive.=.True....... |
e100 | 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 63 | ..self.activity.palette_button.c |
e120 | 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | onnect('clicked',.\............. |
e140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
e160 | 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 70 61 6c 65 74 74 65 5f 63 62 29 0a 20 20 | .self.activity.do_palette_cb)... |
e180 | 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 | ......try:.............self.acti |
e1a0 | 76 69 74 79 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 | vity.palette_button.props.accele |
e1c0 | 72 61 74 6f 72 20 3d 20 5f 28 27 3c 43 74 72 6c 3e 70 27 29 0a 20 20 20 20 20 20 20 20 65 78 63 | rator.=._('<Ctrl>p').........exc |
e1e0 | 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 73 65 | ept:.............pass.........se |
e200 | 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 70 61 6c 65 74 74 65 5f | lf.insert(self.activity.palette_ |
e220 | 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 | button,.-1).........self.activit |
e240 | 79 2e 70 61 6c 65 74 74 65 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 | y.palette_button.show()......... |
e260 | 20 23 20 62 6c 6f 63 6b 73 20 62 75 74 74 6f 6e 20 28 68 69 64 65 73 68 6f 77 29 0a 20 20 20 20 | .#.blocks.button.(hideshow)..... |
e280 | 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 20 | ....self.activity.blocks_button. |
e2a0 | 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 68 69 64 65 73 68 6f 77 6f 66 66 22 20 29 0a 20 20 | =.ToolButton(."hideshowoff".)... |
e2c0 | 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f | ......self.activity.blocks_butto |
e2e0 | 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 48 69 64 65 20 62 6c 6f 63 6b 73 27 29 29 0a | n.set_tooltip(_('Hide.blocks')). |
e300 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 62 6c 6f 63 6b 73 5f 62 75 74 | ........self.activity.blocks_but |
e320 | 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 | ton.props.sensitive.=.True...... |
e340 | 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 63 | ...self.activity.blocks_button.c |
e360 | 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | onnect('clicked',.\............. |
e380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
e3a0 | 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 68 69 64 65 73 68 6f 77 5f 63 62 29 0a 20 20 | self.activity.do_hideshow_cb)... |
e3c0 | 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 | ......try:.............self.acti |
e3e0 | 76 69 74 79 2e 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 | vity.blocks_button.props.acceler |
e400 | 61 74 6f 72 20 3d 20 5f 28 27 3c 43 74 72 6c 3e 62 27 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 | ator.=._('<Ctrl>b').........exce |
e420 | 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 73 65 6c | pt:.............pass.........sel |
e440 | 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 62 6c 6f 63 6b 73 5f 62 75 | f.insert(self.activity.blocks_bu |
e460 | 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e | tton,.-1).........self.activity. |
e480 | 62 6c 6f 63 6b 73 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 | blocks_button.show()..........se |
e4a0 | 70 61 72 61 74 6f 72 20 3d 20 67 74 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 | parator.=.gtk.SeparatorToolItem( |
e4c0 | 29 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 64 72 61 77 28 54 72 75 | ).........separator.set_draw(Tru |
e4e0 | 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 | e).........self.insert(separator |
e500 | 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a | ,.-1).........separator.show().. |
e520 | 20 20 20 20 20 20 20 20 23 20 72 75 6e 20 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c | ........#.run.button.........sel |
e540 | 66 2e 61 63 74 69 76 69 74 79 2e 72 75 6e 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 | f.activity.run_button.=.ToolButt |
e560 | 6f 6e 28 20 22 72 75 6e 2d 66 61 73 74 6f 66 66 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | on(."run-fastoff".).........self |
e580 | 2e 61 63 74 69 76 69 74 79 2e 72 75 6e 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 | .activity.run_button.set_tooltip |
e5a0 | 28 5f 28 27 52 75 6e 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 | (_('Run')).........self.activity |
e5c0 | 2e 72 75 6e 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 | .run_button.props.sensitive.=.Tr |
e5e0 | 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 75 6e 5f 62 75 74 | ue.........self.activity.run_but |
e600 | 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 2e 61 63 74 69 | ton.connect('clicked',.self.acti |
e620 | 76 69 74 79 2e 64 6f 5f 72 75 6e 5f 63 62 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 | vity.do_run_cb).........try:.... |
e640 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 75 6e 5f 62 75 74 74 6f | .........self.activity.run_butto |
e660 | 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 5f 28 27 3c 43 74 72 6c 3e 72 | n.props.accelerator.=._('<Ctrl>r |
e680 | 27 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 | ').........except:.............p |
e6a0 | 61 73 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 74 | ass.........self.insert(self.act |
e6c0 | 69 76 69 74 79 2e 72 75 6e 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 | ivity.run_button,.-1).........se |
e6e0 | 6c 66 2e 61 63 74 69 76 69 74 79 2e 72 75 6e 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 | lf.activity.run_button.show()... |
e700 | 20 20 20 20 20 20 20 23 20 73 74 65 70 20 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c | .......#.step.button.........sel |
e720 | 66 2e 61 63 74 69 76 69 74 79 2e 73 74 65 70 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 | f.activity.step_button.=.ToolBut |
e740 | 74 6f 6e 28 20 22 72 75 6e 2d 73 6c 6f 77 6f 66 66 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c | ton(."run-slowoff".).........sel |
e760 | 66 2e 61 63 74 69 76 69 74 79 2e 73 74 65 70 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 | f.activity.step_button.set_toolt |
e780 | 69 70 28 5f 28 27 53 74 65 70 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 | ip(_('Step')).........self.activ |
e7a0 | 69 74 79 2e 73 74 65 70 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 | ity.step_button.props.sensitive. |
e7c0 | 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 74 65 | =.True.........self.activity.ste |
e7e0 | 70 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 73 65 6c 66 | p_button.connect('clicked',.self |
e800 | 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 73 74 65 70 5f 63 62 29 0a 20 20 20 20 20 20 20 20 74 72 | .activity.do_step_cb).........tr |
e820 | 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 74 65 | y:.............self.activity.ste |
e840 | 70 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 5f 28 27 | p_button.props.accelerator.=._(' |
e860 | 3c 43 74 72 6c 3e 77 27 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 | <Ctrl>w').........except:....... |
e880 | 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 | ......pass.........self.insert(s |
e8a0 | 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 74 65 70 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 | elf.activity.step_button,.-1)... |
e8c0 | 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 74 65 70 5f 62 75 74 74 6f 6e 2e | ......self.activity.step_button. |
e8e0 | 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 64 65 62 75 67 20 62 75 74 74 6f 6e 0a 20 | show()..........#.debug.button.. |
e900 | 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 65 62 75 67 5f 62 75 74 74 6f | .......self.activity.debug_butto |
e920 | 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 64 65 62 75 67 6f 66 66 22 20 29 0a 20 20 20 | n.=.ToolButton(."debugoff".).... |
e940 | 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 65 62 75 67 5f 62 75 74 74 6f 6e 2e | .....self.activity.debug_button. |
e960 | 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 44 65 62 75 67 27 29 29 0a 20 20 20 20 20 20 20 20 | set_tooltip(_('Debug'))......... |
e980 | 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 65 62 75 67 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 | self.activity.debug_button.props |
e9a0 | 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 | .sensitive.=.True.........self.a |
e9c0 | 63 74 69 76 69 74 79 2e 64 65 62 75 67 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c | ctivity.debug_button.connect('cl |
e9e0 | 69 63 6b 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | icked',.\....................... |
ea00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 | .....................self.activi |
ea20 | 74 79 2e 64 6f 5f 64 65 62 75 67 5f 63 62 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 | ty.do_debug_cb).........try:.... |
ea40 | 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 65 62 75 67 5f 62 75 74 | .........self.activity.debug_but |
ea60 | 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 5f 28 27 3c 43 74 72 6c | ton.props.accelerator.=._('<Ctrl |
ea80 | 3e 64 27 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 | >d').........except:............ |
eaa0 | 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 | .pass.........self.insert(self.a |
eac0 | 63 74 69 76 69 74 79 2e 64 65 62 75 67 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 | ctivity.debug_button,.-1)....... |
eae0 | 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 65 62 75 67 5f 62 75 74 74 6f 6e 2e 73 68 6f | ..self.activity.debug_button.sho |
eb00 | 77 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 73 74 6f 70 20 62 75 74 74 6f 6e 0a 20 20 20 20 20 | w()..........#.stop.button...... |
eb20 | 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 20 3d 20 54 | ...self.activity.stop_button.=.T |
eb40 | 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 73 74 6f 70 69 74 6f 66 66 22 20 29 0a 20 20 20 20 20 20 20 | oolButton(."stopitoff".)........ |
eb60 | 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 | .self.activity.stop_button.set_t |
eb80 | 6f 6f 6c 74 69 70 28 5f 28 27 53 74 6f 70 20 74 75 72 74 6c 65 27 29 29 0a 20 20 20 20 20 20 20 | ooltip(_('Stop.turtle'))........ |
eba0 | 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 | .self.activity.stop_button.props |
ebc0 | 2e 73 65 6e 73 69 74 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 | .sensitive.=.True.........self.a |
ebe0 | 63 74 69 76 69 74 79 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 | ctivity.stop_button.connect('cli |
ec00 | 63 6b 65 64 27 2c 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f 73 74 6f 70 5f 63 62 29 | cked',.self.activity.do_stop_cb) |
ec20 | 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 | .........try:.............self.a |
ec40 | 63 74 69 76 69 74 79 2e 73 74 6f 70 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 | ctivity.stop_button.props.accele |
ec60 | 72 61 74 6f 72 20 3d 20 5f 28 27 3c 43 74 72 6c 3e 73 27 29 0a 20 20 20 20 20 20 20 20 65 78 63 | rator.=._('<Ctrl>s').........exc |
ec80 | 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 73 65 | ept:.............pass.........se |
eca0 | 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 74 6f 70 5f 62 75 74 | lf.insert(self.activity.stop_but |
ecc0 | 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 | ton,.-1).........self.activity.s |
ece0 | 74 6f 70 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 | top_button.show()..........separ |
ed00 | 61 74 6f 72 20 3d 20 67 74 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 | ator.=.gtk.SeparatorToolItem().. |
ed20 | 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 65 74 5f 64 72 61 77 28 54 72 75 65 29 0a | .......separator.set_draw(True). |
ed40 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d | ........self.insert(separator,.- |
ed60 | 31 29 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 | 1).........separator.show()..... |
ed80 | 20 20 20 20 20 23 20 65 72 61 73 65 72 20 62 75 74 74 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c | .....#.eraser.button.........sel |
eda0 | 66 2e 61 63 74 69 76 69 74 79 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 | f.activity.eraser_button.=.ToolB |
edc0 | 75 74 74 6f 6e 28 20 22 65 72 61 73 65 72 6f 6e 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 | utton(."eraseron".).........self |
ede0 | 2e 61 63 74 69 76 69 74 79 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c | .activity.eraser_button.set_tool |
ee00 | 74 69 70 28 5f 28 27 43 6c 65 61 6e 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 | tip(_('Clean')).........self.act |
ee20 | 69 76 69 74 79 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 | ivity.eraser_button.props.sensit |
ee40 | 69 76 65 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 | ive.=.True.........self.activity |
ee60 | 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 | .eraser_button.connect('clicked' |
ee80 | 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ,.\............................. |
eea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f | ................self.activity.do |
eec0 | 5f 65 72 61 73 65 72 5f 63 62 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 | _eraser_cb).........try:........ |
eee0 | 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e | .....self.activity.eraser_button |
ef00 | 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 5f 28 27 3c 43 74 72 6c 3e 65 27 | .props.accelerator.=._('<Ctrl>e' |
ef20 | 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 | ).........except:.............pa |
ef40 | 73 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 74 69 | ss.........self.insert(self.acti |
ef60 | 76 69 74 79 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 | vity.eraser_button,.-1)......... |
ef80 | 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 65 72 61 73 65 72 5f 62 75 74 74 6f 6e 2e 73 68 6f 77 | self.activity.eraser_button.show |
efa0 | 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 20 3d 20 67 74 6b 2e 53 65 70 61 | ()..........separator.=.gtk.Sepa |
efc0 | 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f | ratorToolItem().........separato |
efe0 | 72 2e 73 65 74 5f 64 72 61 77 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e | r.set_draw(True).........self.in |
f000 | 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 73 65 70 61 | sert(separator,.-1).........sepa |
f020 | 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 53 61 76 65 20 73 6e 61 | rator.show()..........#.Save.sna |
f040 | 70 73 68 6f 74 20 28 22 6b 65 65 70 22 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 | pshot.("keep").........self.acti |
f060 | 76 69 74 79 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 | vity.keep_button.=.ToolButton(." |
f080 | 66 69 6c 65 73 61 76 65 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 | filesave".).........self.activit |
f0a0 | 79 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 27 53 61 76 | y.keep_button.set_tooltip(_('Sav |
f0c0 | 65 20 73 6e 61 70 73 68 6f 74 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 | e.snapshot')).........self.activ |
f0e0 | 69 74 79 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 20 | ity.keep_button.props.sensitive. |
f100 | 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 | =.True.........try:............. |
f120 | 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e | self.activity.keep_button.props. |
f140 | 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 27 3c 41 6c 74 3e 53 27 0a 20 20 20 20 20 20 20 20 65 | accelerator.=.'<Alt>S'.........e |
f160 | 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20 20 20 20 20 20 20 20 | xcept:.............pass......... |
f180 | 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 | self.activity.keep_button.connec |
f1a0 | 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t('clicked',.\.................. |
f1c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 | ...................self.activity |
f1e0 | 2e 64 6f 5f 6b 65 65 70 5f 63 62 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 | .do_keep_cb).........self.insert |
f200 | 28 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6b 65 65 70 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a | (self.activity.keep_button,.-1). |
f220 | 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 6b 65 65 70 5f 62 75 74 74 6f | ........self.activity.keep_butto |
f240 | 6e 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 20 3d 20 67 74 | n.show()..........separator.=.gt |
f260 | 6b 2e 53 65 70 61 72 61 74 6f 72 54 6f 6f 6c 49 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 73 65 | k.SeparatorToolItem().........se |
f280 | 70 61 72 61 74 6f 72 2e 73 65 74 5f 64 72 61 77 28 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 73 | parator.set_draw(True).........s |
f2a0 | 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 70 61 72 61 74 6f 72 2c 20 2d 31 29 0a 20 20 20 20 20 20 | elf.insert(separator,.-1)....... |
f2c0 | 20 20 73 65 70 61 72 61 74 6f 72 2e 73 68 6f 77 28 29 0a 0a 20 20 20 20 20 20 20 20 23 20 70 72 | ..separator.show()..........#.pr |
f2e0 | 6f 6a 65 63 74 20 6f 70 65 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 | oject.open.........self.activity |
f300 | 2e 73 61 6d 70 6c 65 73 5f 62 75 74 74 6f 6e 20 3d 20 54 6f 6f 6c 42 75 74 74 6f 6e 28 20 22 73 | .samples_button.=.ToolButton(."s |
f320 | 74 6f 63 6b 2d 6f 70 65 6e 22 20 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 | tock-open".).........self.activi |
f340 | 74 79 2e 73 61 6d 70 6c 65 73 5f 62 75 74 74 6f 6e 2e 73 65 74 5f 74 6f 6f 6c 74 69 70 28 5f 28 | ty.samples_button.set_tooltip(_( |
f360 | 27 53 61 6d 70 6c 65 73 27 29 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 | 'Samples')).........self.activit |
f380 | 79 2e 73 61 6d 70 6c 65 73 5f 62 75 74 74 6f 6e 2e 70 72 6f 70 73 2e 73 65 6e 73 69 74 69 76 65 | y.samples_button.props.sensitive |
f3a0 | 20 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 | .=.True.........self.activity.sa |
f3c0 | 6d 70 6c 65 73 5f 62 75 74 74 6f 6e 2e 63 6f 6e 6e 65 63 74 28 27 63 6c 69 63 6b 65 64 27 2c 20 | mples_button.connect('clicked',. |
f3e0 | 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | \............................... |
f400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 64 6f 5f | ...............self.activity.do_ |
f420 | 73 61 6d 70 6c 65 73 5f 63 62 29 0a 20 20 20 20 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 | samples_cb).........try:........ |
f440 | 20 20 20 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 6d 70 6c 65 73 5f 62 75 74 74 6f | .....self.activity.samples_butto |
f460 | 6e 2e 70 72 6f 70 73 2e 61 63 63 65 6c 65 72 61 74 6f 72 20 3d 20 5f 28 27 3c 43 74 72 6c 3e 6f | n.props.accelerator.=._('<Ctrl>o |
f480 | 27 29 0a 20 20 20 20 20 20 20 20 65 78 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 | ').........except:.............p |
f4a0 | 61 73 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 65 72 74 28 73 65 6c 66 2e 61 63 74 | ass.........self.insert(self.act |
f4c0 | 69 76 69 74 79 2e 73 61 6d 70 6c 65 73 5f 62 75 74 74 6f 6e 2c 20 2d 31 29 0a 20 20 20 20 20 20 | ivity.samples_button,.-1)....... |
f4e0 | 20 20 73 65 6c 66 2e 61 63 74 69 76 69 74 79 2e 73 61 6d 70 6c 65 73 5f 62 75 74 74 6f 6e 2e 73 | ..self.activity.samples_button.s |
f500 | 68 6f 77 28 29 0a 0a 0a 0a | how().... |