Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Question about versions and Balsamiq/Component XML support

    Hello,

    If I run (v8.3p_2012-11-23/PowerEdition Deployment 2012-11-23), should I be able to use the ComponentXML stuff described here?

    http://www.smartclient.com/smartgwtee-latest/javadoc/com/smartgwt/client/docs/ComponentXML.html

    Or do I need 4.0d for that?

    If I do need 4.0d: I cannot seem to download the 4.0d version, with my 3.x Power license. Is that correct? I thought these higher dev branches were useful for evaluation?

    #2
    "-latest" is the 4.0 doc, which does have some differences from the 3.1 docs, with more coming. Use the docs from the version you're using.

    Anyone can down 4.0d Eval builds. Licensed development builds require the appropriate license, and you don't appear to have purchased a 4.0 license.

    Comment


      #3
      Alright, makes sense.

      However, is this then the right approach? Because it returns null, whilst the screenLoader servlet works, and returns valid data it seems:

      screenLoader response:
      Code:
      === 2012-12-27 20:32:32,276 [l0-2] DEBUG ScreenLoaderServlet - screenLoader - Requested screens:TestWidget
      === 2012-12-27 20:32:32,277 [l0-2] DEBUG ScreenLoaderServlet - screenLoader - Processing screen "TestWidget".
      === 2012-12-27 20:32:32,279 [l0-2] DEBUG XML - Parsed XML from (in memory stream): 1ms
      === 2012-12-27 20:32:32,286 [l0-2] DEBUG ScreenLoaderServlet - screenLoader - Generated response:isc.VLayout.create({
          ID:"tw",
          members:[
              {
                  contents:"TestLabel1",
                  _constructor:"Label"
              },
              {
                  contents:"TestLabel2",
                  _constructor:"Label"
              }
          ]
      })
      TestWidget.ui.xml
      Code:
      <VLayout ID="tw">
      	<members>
      		<Label contents="TestLabel1" />
      		<Label contents="TestLabel2" />
      	</members>
      </VLayout>
      Instantiating it in my code:
      Code:
      public void instantiateTestWidget(){
      	RPCManager.loadScreen("TestWidget", new LoadScreenCallback() {
      		@Override
      		public void execute() {
      			Log.debug("LoadScreenCallback executed");
      			VLayout v = (VLayout) Canvas.getById("tw");
      			//v == null on this point ???
      			addMember(v);
      		}
      	});
      }
      Why is this going wrong? Debug console doesn't give an obvious error it seems.

      Comment


        #4
        The default for loadScreen() is not to allow your widgets to take global IDs. You pass in a list of the ones that should be allowed to actually become global.

        Comment


          #5
          Aha, yeah now I see. It works (and is indeed there in the docs, I just didn't grasp that bit on first read).

          For those intereseted, It now works when I modified it like this (added the 3rd argument):
          Code:
          RPCManager.loadScreen("TestWidget", new LoadScreenCallback() {
          			@Override
          			public void execute() {
          				Log.debug("LoadScreenCallback executed");
          				VLayout v = (VLayout) Canvas.getById("tw");
          				Log.debug("v = "+v);
          				addMember(v);
          			}
          		}, new String[] {"tw" });
          Thanks!

          Comment

          Working...
          X