How to Extract the Font information

35 views
Skip to first unread message

Kumaravel Sadras

unread,
Mar 27, 2013, 8:02:26 PM3/27/13
to li...@googlegroups.com
Hi 
  I am writing a custom serializer and I want to extract the elements font-family, font-size, font-weight, font-style, cold, background-color, text-align

I have this code that currently seems to work

                var re = new RegExp(/.*Class\('App', 'linb\.Com',(.*)/);
               
                var stringToStore = content.replace(re, "{code:$1");
                var modString = stringToStore.substr(0, stringToStore.length - 2)+"}";
                var objectToStore = eval('(' + modString + ')');
                var ctrls = objectToStore.code.Instance.iniComponents();
                var templateDefn = new Object();
                var newCtrls = new Array();
                templateDefn.fieldElements = newCtrls;
                for (i = 0; i < ctrls.length; i++) {
                    var ctrl = ctrls[i];
                    var type = ctrl.key;
                    if (type == "linb.UI.SLabel") {
                        var newCtrl = new Object();
                        newCtrl.left = ctrl.properties.left;
                        newCtrl.right = ctrl.properties.right;
                        newCtrl.top = ctrl.properties.top;
                        newCtrl.height = ctrl.properties.height;
                        newCtrl.width = ctrl.properties.width;
                        newCtrl.text = ctrl.properties.caption;
                        newCtrls.push(newCtrl);
                    }
                }
  
How do I extract the font-family, font-size, font-weight, font-style, cold, background-color, text-align ?

Thanks,
-Kumar

Jack Lee

unread,
Mar 27, 2013, 10:34:31 PM3/27/13
to li...@googlegroups.com
Class('App', 'linb.Com',{
    Instance:{
        iniComponents : function(){
            // [[code created by jsLinb UI Builder
            var host=this, children=[], append=function(child){children.push(child.get(0))};
            
            append(
                (new linb.UI.Pane)
                .setHost(host,"ctl_pane6")
                .setLeft(180)
                .setTop(60)
                .setWidth(220)
                .setHeight(170)
                .setCustomStyle({"KEY":"font-family:arial,helvetica,sans-serif;font-size:12pt;font-weight:bolder;background-color:#00FA9A;text-align:left"})
            );
            
            return children;
            // ]]code created by jsLinb UI Builder
        },
        events : {"onRender":"_com_onrender"},
        _com_onrender : function (com,threadid){
            var ctrl = this.ctl_pane6,
            node = ctrl.getSubNode("KEY");
            node.append("<div>"+node.css("font-family")+"</div>");
            node.append("<div>"+node.css("font-size")+"</div>");
            node.append("<div>"+node.css("font-weight")+"</div>");
            node.append("<div>"+node.css("font-color")+"</div>");
            node.append("<div>"+node.css("text-align")+"</div>");       
        }
    }
});


---------------------------

And, If you want to save layout into DB, you should refer to FormBuilder.

Kumaravel Sadras

unread,
Mar 28, 2013, 3:22:46 PM3/28/13
to li...@googlegroups.com
Thanks so much for your reply.
In this code how do I iterate through the controls in a loop?

I see this.getUIComponents(); Dont know how to iterate it.

Thanks,
-Kumar.

Kumaravel Sadras

unread,
Mar 28, 2013, 3:53:16 PM3/28/13
to li...@googlegroups.com
Never mind. Found an example in the source.

Kumaravel Sadras

unread,
Apr 12, 2013, 5:13:10 AM4/12/13
to li...@googlegroups.com
I am getting only the 1st level controls with getUIComponents().get();
How do I get the child elements of a Block Control?

Thanks,
-Kumar.


On Thursday, March 28, 2013 12:22:46 PM UTC-7, Kumaravel Sadras wrote:
Reply all
Reply to author
Forward
0 new messages