Then it complains that x is unknown...
On Sat, Jan 10, 2009 at 4:34 PM, P T Withington <[email protected]> wrote: > Ouch. Does it work if you leave out the this? > > On 2009-01-10, at 16:26EST, Henry Minsky wrote: > >> Say, that attribute value gives a compilation error in swf9 >> >> <attribute name="x" value="this.x" /> >> >> >> >> .openlaszlo.sc.CompilerError: debugger/debugger.lzx: 232: Error: The >> this keyword can not be used in static methods. It can only be used in >> instance methods, function closures, and global code, in line: , >> active: false, id: "_dbg_cmd_complete_tab", key: ["tab"]}, "class": >> $lzc$class_$m518}, {attrs: {$classrootdepth: 1, name: "drag"}, >> "class": $lzc$class_dragstate}, {attrs: {$classrootdepth: 1, name: >> "resize", x: this.x, y: this.y}, "class": $lzc$class_resizestate}, >> {attrs: {$classrootdepth: 1, axis: "y"}, "class": >> $lzc$class_resizelayout}, {attrs: {$classrootdepth: 1, $delegates: >> ["oninit", "$lzc$handle_oninit$$debugger$2Fdebugger$2Elzx_615_49_$m349", >> null], background: void 0, clip: true, controls: void 0, height: 24, >> logo: void 0, name: "top", pixellock: true, title: void 0, width: new >> LzAlwaysExpr("$lzc$bind_width$$debugger$2Fdebugger$2Elzx_615_49_$m345", >> "$lzc$dependencies_width$$debugger$2Fdebugger$2Elzx_615_49_$m345")}, >> "class": $lzc$class_$m519}, {attrs: {$classrootdepth: 1, content: void >> 0, left: void 0, name: "middle", options: {releasetolayout: true}, >> pixellock: true, right: void 0, width: new >> LzAlwaysExpr("$lzc$bind_width$$debugger$2Fdebugger$2Elzx_670_92_$m406", >> "$lzc$dependencies_width$$debugger$2Fdebugger$2Elzx_670_92_$m406")}, >> "class": $lzc$class_$m528}, {attrs: {$classrootdepth: 1, $delegates: >> ["onmousedown", >> "$lzc$handle_onmousedown$$debugger$2Fdebugger$2Elzx_710_26_$m424", >> null], bottomright: void 0, center: void 0, clickable: true, height: >> new >> LzAlwaysExpr("$lzc$bind_height$$debugger$2Fdebugger$2Elzx_710_26_$m423", >> "$lzc$dependencies_height$$debugger$2Fdebugger$2Elzx_710_26_$m423"), >> left: void 0, name: "bottom", pixellock: true, splitter: void 0, >> width: new >> LzAlwaysExpr("$lzc$bind_width$$debugger$2Fdebugger$2Elzx_710_26_$m422", >> "$lzc$dependencies_width$$debugger$2Fdebugger$2Elzx_710_26_$m422")}, >> "class": $lzc$class_$m532}, {attrs: {$classrootdepth: 1, opacity: >> 0.75, options: {ignorelayout: true}, pixellock: true, width: new >> LzAlwaysExpr("$lzc$bind_width$$debugger$2Fdebugger$2Elzx_831_61_$m504", >> "$lzc$dependencies_width$$debugger$2Fdebugger$2Elzx_831_61_$m504"), y: >> new LzAlwaysExpr("$lzc$bind_y$$debugger$2Fdebugger$2Elzx_831_61_$m508", >> "$lzc$dependencies_y$$debugger$2Fdebugger$2Elzx_831_61_$m508")}, >> "class": $lzc$class_$m544}, {attrs: {$classrootdepth: 1, height: new >> LzAlwaysExpr("$lzc$bind_height$$debugger$2Fdebugger$2Elzx_833_69_$m509", >> "$lzc$dependencies_height$$debugger$2Fdebugger$2Elzx_833_69_$m509"), >> opacity: 0.75, options: {ignorelayout: true}, pixellock: true, x: new >> LzAlwaysExpr("$lzc$bind_x$$debugger$2Fdebugger$2Elzx_833_69_$m510", >> "$lzc$dependencies_x$$debugger$2Fdebugger$2Elzx_833_69_$m510")}, >> "class": $lzc$class_$m545}], LzView["children"]);public static var >> attributes = new LzInheritedHash(LzView.attributes);public function >> $lzc$bind_x$$debugger$2Fdebugger$2Elzx_107_49_$m284 ($lzc$ignore_$1) { >> debugger/debugger.lzx: 232: Error: The this keyword can not be used in >> static methods. It can only be used in instance methods, function >> closures, and global code, in line: , active: false, id: >> "_dbg_cmd_complete_tab", key: ["tab"]}, "class": $lzc$class_$m518}, >> {attrs: {$classrootdepth: 1, name: "drag"}, "class": >> $lzc$class_dragstate}, {attrs: {$classrootdepth: 1, name: "resize", x: >> this.x, y: this.y}, "class": $lzc$class_resizestate}, {attrs: >> {$classrootdepth: 1, axis: "y"}, "class": $lzc$class_resizelayout}, >> {attrs: {$classrootdepth: 1, $delegates: ["oninit", >> "$lzc$handle_oninit$$debugger$2Fdebugger$2Elzx_615_49_$m349", null], >> background: void 0, clip: true, controls: void 0, height: 24, logo: >> void 0, name: "top", pixellock: true, title: void 0, width: new >> LzAlwaysExpr("$lzc$bind_width$$debugger$2Fdebugger$2Elzx_615_49_$m345", >> "$lzc$dependencies_width$$debugger$2Fdebugger$2Elzx_615_49_$m345")}, >> "class": $lzc$class_$m519}, {attrs: {$classrootdepth: 1, content: void >> 0, left: void 0, name: "middle", options: {releasetolayout: true}, >> pixellock: true, right: void 0, width: new >> LzAlwaysExpr("$lzc$bind_width$$debugger$2Fdebugger$2Elzx_670_92_$m406", >> "$lzc$dependencies_width$$debugger$2Fdebugger$2Elzx_670_92_$m406")}, >> "class": $lzc$class_$m528}, {attrs: {$classrootdepth: 1, $delegates: >> ["onmousedown", >> "$lzc$handle_onmousedown$$debugger$2Fdebugger$2Elzx_710_26_$m424", >> null], bottomright: void 0, center: void 0, clickable: true, height: >> new >> LzAlwaysExpr("$lzc$bind_height$$debugger$2Fdebugger$2Elzx_710_26_$m423", >> "$lzc$dependencies_height$$debugger$2Fdebugger$2Elzx_710_26_$m423"), >> left: void 0, name: "bottom", pixellock: true, splitter: void 0, >> width: new >> LzAlwaysExpr("$lzc$bind_width$$debugger$2Fdebugger$2Elzx_710_26_$m422", >> "$lzc$dependencies_width$$debugger$2Fdebugger$2Elzx_710_26_$m422")}, >> "class": $lzc$class_$m532}, {attrs: {$classrootdepth: 1, opacity: >> 0.75, options: {ignorelayout: true}, pixellock: true, width: new >> LzAlwaysExpr("$lzc$bind_width$$debugger$2Fdebugger$2Elzx_831_61_$m504", >> "$lzc$dependencies_width$$debugger$2Fdebugger$2Elzx_831_61_$m504"), y: >> new LzAlwaysExpr("$lzc$bind_y$$debugger$2Fdebugger$2Elzx_831_61_$m508", >> "$lzc$dependencies_y$$debugger$2Fdebugger$2Elzx_831_61_$m508")}, >> "class": $lzc$class_$m544}, {attrs: {$classrootdepth: 1, height: new >> LzAlwaysExpr("$lzc$bind_height$$debugger$2Fdebugger$2Elzx_833_69_$m509", >> "$lzc$dependencies_height$$debugger$2Fdebugger$2Elzx_833_69_$m509"), >> opacity: 0 >> >> >> On Sat, Jan 10, 2009 at 4:23 PM, Henry Minsky <[email protected]> >> wrote: >>> >>> Yes, that is what I was looking for. >>> >>> >>> On Sat, Jan 10, 2009 at 4:17 PM, P T Withington <[email protected]> >>> wrote: >>>> >>>> I think a better way, might be to leave the constraints as the default >>>> for x >>>> and y, and in the resize state say: >>>> >>>> <class ... >>>> x="${canvas.width * .95 - this.width}" y ="${canvas.height * .95 - >>>> this.height}" >>>> ...> >>>> <resizestate name="resize"> >>>> <!-- on resize, stop constraining position --> >>>> <attribute name="x" value="this.x" /> >>>> <attribute name="y" value="this.y" /> >>>> </resizestate> >>>> >>>> The intent is, that as soon as you start resizing, x and y get set to >>>> their >>>> current value, which will remove the default constraint. (This is how >>>> states are defined to work. If a state defines an attribute that is >>>> already >>>> defined in the parent, the attribute is given the state value. When the >>>> state is removed, the attribute keeps it's last value.) >>>> >>>> On 2009-01-09, at 20:59EST, Henry Minsky wrote: >>>> >>>>> Here's a method I am using to remove the constraint when you start >>>>> resizing the width/height; I put the x,y constraints into a method >>>>> that is applied by default, and then when the resize state is applied, >>>>> it un-applies that initial state. i.e., >>>>> >>>>> <class name="LzDebugWindow"> >>>>> >>>>> <!-- sets the initial position of the debug window to constrain to the >>>>> canvas> >>>>> <state name="initial_position_state" applied="true"> >>>>> <attribute name="y" value="${canvas.height * .95 - this.height}"/> >>>>> <attribute name="x" value="${canvas.width * .95 - this.width}"/> >>>>> </state> >>>>> >>>>> >>>>> <resizestate name="resize"> >>>>> <handler name="onapplied"> >>>>> parent.initial_position_state.setAttribute('applied', false); >>>>> </handler> >>>>> </resizestate> >>>>> </class> >>>>> >>>>> Is there a better way to do this? >>>>> >>>>> >>>>> On Fri, Jan 9, 2009 at 6:43 PM, Henry Minsky >>>>> <[email protected]> >>>>> wrote: >>>>>> >>>>>> Oh hey, there is definitely a bug when you try to resize the debugger >>>>>> window; the constraints >>>>>> don't let go! >>>>>> >>>>>> Tucker, what is the right way to disable the constraint on x and y >>>>>> when the user wants to change >>>>>> the width and height manually? >>>>>> >>>>>> I wonder if the constraints on x and y should be in a state, and then >>>>>> the state could be unapplied >>>>>> when the user activates the resizer state? >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Jan 9, 2009 at 6:26 PM, Henry Minsky >>>>>> <[email protected]> >>>>>> wrote: >>>>>>> >>>>>>> I don't see the error when I run in swf8 in FF3 on OSX. >>>>>>> >>>>>>> It might be possible that some other example in the doc web page is >>>>>>> causing the >>>>>>> network to get broken somehow? Can you run that example just >>>>>>> standalone as an app >>>>>>> and see if you still see the error behavior? >>>>>>> >>>>>>> >>>>>>> On Fri, Jan 9, 2009 at 4:30 PM, Lou Iorio <[email protected]> >>>>>>> wrote: >>>>>>>> >>>>>>>> I'm not running a test case, just building the documentation, >>>>>>>> but here's the example. >>>>>>>> >>>>>>>> <canvas debug="true" height="200" width="100%"> >>>>>>>> <debug x="160" y="5" height="150" width="300"/> >>>>>>>> <script>Debug.debug('user code');</script> >>>>>>>> <button text="Get x, y" width="150" height="150" >>>>>>>> onclick="Debug.debug('click: x=%d, y=%d', getMouse('x'), >>>>>>>> getMouse('y'))"/> >>>>>>>> </canvas> >>>>>>>> >>>>>>>> >>>>>>>> On Jan 9, 2009, at 5:18 PM, Henry Minsky wrote: >>>>>>>> >>>>>>>>> Can you send me the lzx test case code you're running? >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Jan 9, 2009 at 2:49 PM, Lou Iorio >>>>>>>>> <[email protected]> >>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> I'm seeing some odd behavior on the Mac with FF3. >>>>>>>>>> >>>>>>>>>> When I first load a chapter, say Debugging, the example comes up >>>>>>>>>> like >>>>>>>>>> this: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> And the FF status bar says: "Transferring data from localhost...", >>>>>>>>>> and that message doesn't go away. >>>>>>>>>> >>>>>>>>>> If I then click the refresh button, the example comes up like >>>>>>>>>> this: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> And the FF status bar says: "Done". >>>>>>>>>> >>>>>>>>>> Safari 3.2.1 on the Mac seems to do the right thing. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Jan 9, 2009, at 1:33 PM, Henry Minsky wrote: >>>>>>>>>> >>>>>>>>>>> please review , check that the debugger shows up on canvas in >>>>>>>>>>> doc >>>>>>>>>>> examples >>>>>>>>>>> thanks >>>>>>>>>>> >>>>>>>>>>> ---------- Forwarded message ---------- >>>>>>>>>>> From: Henry Minsky <[email protected]> >>>>>>>>>>> Date: Fri, Jan 9, 2009 at 12:27 PM >>>>>>>>>>> Subject: For Review: Change 20090109-hqm-3 Summary: make debugger >>>>>>>>>>> set >>>>>>>>>>> position to be on screen >>>>>>>>>>> To: [email protected] >>>>>>>>>>> Cc: [email protected] >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Change 20090109-hqm-3 by [email protected] on 2009-01-09 >>>>>>>>>>> 12:26:42 >>>>>>>>>>> EST >>>>>>>>>>> in /Users/hqm/openlaszlo/trunk5 >>>>>>>>>>> for http://svn.openlaszlo.org/openlaszlo/trunk >>>>>>>>>>> >>>>>>>>>>> Summary: make debugger set position to be on screen >>>>>>>>>>> >>>>>>>>>>> New Features: >>>>>>>>>>> >>>>>>>>>>> Bugs Fixed: LPP-7602 >>>>>>>>>>> >>>>>>>>>>> Technical Reviewer: ptw >>>>>>>>>>> QA Reviewer: (pending) >>>>>>>>>>> Doc Reviewer: (pending) >>>>>>>>>>> >>>>>>>>>>> Documentation: >>>>>>>>>>> >>>>>>>>>>> Release Notes: >>>>>>>>>>> >>>>>>>>>>> Details: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Tests: >>>>>>>>>>> >>>>>>>>>>> make test/hello.lzx canvas size small (200 x 500) and see that >>>>>>>>>>> debugger still appears on the canvas >>>>>>>>>>> >>>>>>>>>>> Files: >>>>>>>>>>> M lps/components/debugger/debugger.lzx >>>>>>>>>>> >>>>>>>>>>> Changeset: >>>>>>>>>>> http://svn.openlaszlo.org/openlaszlo/patches/20090109-hqm-3.tar >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Henry Minsky >>>>>>>>>>> Software Architect >>>>>>>>>>> [email protected] >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Henry Minsky >>>>>>>>> Software Architect >>>>>>>>> [email protected] >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Henry Minsky >>>>>>> Software Architect >>>>>>> [email protected] >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Henry Minsky >>>>>> Software Architect >>>>>> [email protected] >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Henry Minsky >>>>> Software Architect >>>>> [email protected] >>>> >>>> >>> >>> >>> >>> -- >>> Henry Minsky >>> Software Architect >>> [email protected] >>> >> >> >> >> -- >> Henry Minsky >> Software Architect >> [email protected] > > -- Henry Minsky Software Architect [email protected]
