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]

Reply via email to