Home » Eclipse Projects » Remote Application Platform (RAP) » Custom widgets and Themes
|
Re: Custom widgets and Themes [message #74857 is a reply to message #74817] |
Wed, 20 February 2008 08:15 |
Eclipse User |
|
|
|
Originally posted by: fappel.innoopract.com
Hi,
I had a short look at your demo. You are mixing up two approaches to
create custom widgets. Either you use composition like you're doing in
the ApplicationHeader class, or you write a custom widget from scratch
that is completely build on a clientside javascript representation. The
widget instance itself works as stateholder on serverside.
Note that only the second approach currently allows individual theming
out of the box. But we are currently working on a enhancement of the
current theming mechanism that will allow to define style-class like
entries in the theme properties definitions. With that in place you will
also be able to style widgets created with composition.
By the way I didn't find the gradient fill in your code. Rendering
Gradients is currently not supported with RAP - so I was wondering if
some unsupported API sneeked into...
Ciao
Frank
-----Ursprüngliche Nachricht-----
Von: Anand Narasimhan [mailto:anandn@cisco.com]
Bereitgestellt: Mittwoch, 20. Februar 2008 06:25
Bereitgestellt in: eclipse.technology.rap
Unterhaltung: Custom widgets and Themes
Betreff: Custom widgets and Themes
Hi,
I am trying to write a custom widget to put a logo and text in a
Composite. I created a widget ApplicationHeader that extends composite
and created two labels (one for the logo and one for the text). I
created the LCA class, themes file and javascript files as explained in
the help documentation. I have also registered extensions for resources
and themablewidget.
The custom widget shows the logo and the text. Now I am trying to set
the background image (with gradient fill) for the composite and also
custom theme keys for the font for the title text. I have a few
questions. Basically I do not understand how all these different pieces
glue together. I looked at the various widgets defined in RAP and also
some examples posted in the newgroup. I still don't understand how all
these work together.
1. The background image for my custom widget and the gradient fill does
not show. I have defined the backgroundImage and backgroundRepeat
properties in the javascript files and also provided the apply method.
I have the background image file in resources directory under the plugin
directory.
2. How can I define custom theme keys for the title label widget. I
don't want to use the generic widget.font key. I want to define
somehting like applicationheader.title.font. How can I do that.
Thanks
Anand
--
____________________________________________________________ ____________
_________
Anand Narasimhan
anandn@cisco.com
|
|
|
Re: Custom widgets and Themes [message #74958 is a reply to message #74857] |
Wed, 20 February 2008 09:32 |
Anand Narasimhan Messages: 104 Registered: July 2009 |
Senior Member |
|
|
Frank,
Thanks for the reply.
The reason I am doing this is to get gradient fill (since it is not
currently supported by RAP).
I got most of it to work. The LCA class was not getting invoked because
of package naming. Now I am able to see the logo, title and able to
change the title's font and foreground using theme file. But can't get
gradient to work.
I tried to copy the javascript code from qooxdoo It is is in
ApplicationHeader.js (in my plugin that I attached earler).
/**
* Mapping to native style property background-repeat.
*/
backgroundRepeat: {
check: "String",
nullable: true,
apply: "_applyBackgroundRepeat",
themeable: true
}
},
_applyBackgroundRepeat: function(value, old){
value ? this.setStyleProperty("backgroundRepeat", value) :
this.removeStyleProperty("backgroundRepeat");
}
I was trying to set the backgroundImage on my widget (which extends
composite) and set backgroundRepeat to "repeat-y".
I can't figure out what the targetPath should be in my theme xml file.
If I provide a "default" for image, I get an exception saying my image
file was not found. I have my image in
resource/widgets/applicationheader. If I specify this as the "default",
I get exception. Also, I don't understand where the image gets copied.
I looked into the target path. I don't see the image. I see it in
resource/Themes/Default/widgets/applicationheader directory.
One of the thing that I am trying to do is to let applications to
provide content for the application header. So I am creating an empty
composite in ApplicationHeader, which applications can use to add
content to the header. If I write my custom widget from scratch, will I
still be able to do this? How would I do that. Basically, I want a
method getHeaderContent() in ApplicationHeader that returns an empty
composite.
Anand
Frank Appel wrote:
> Hi,
>
> I had a short look at your demo. You are mixing up two approaches to
> create custom widgets. Either you use composition like you're doing in
> the ApplicationHeader class, or you write a custom widget from scratch
> that is completely build on a clientside javascript representation. The
> widget instance itself works as stateholder on serverside.
>
> Note that only the second approach currently allows individual theming
> out of the box. But we are currently working on a enhancement of the
> current theming mechanism that will allow to define style-class like
> entries in the theme properties definitions. With that in place you will
> also be able to style widgets created with composition.
>
> By the way I didn't find the gradient fill in your code. Rendering
> Gradients is currently not supported with RAP - so I was wondering if
> some unsupported API sneeked into...
>
>
> Ciao
> Frank
>
> -----Ursprüngliche Nachricht-----
> Von: Anand Narasimhan [mailto:anandn@cisco.com]
> Bereitgestellt: Mittwoch, 20. Februar 2008 06:25
> Bereitgestellt in: eclipse.technology.rap
> Unterhaltung: Custom widgets and Themes
> Betreff: Custom widgets and Themes
>
>
> Hi,
>
> I am trying to write a custom widget to put a logo and text in a
> Composite. I created a widget ApplicationHeader that extends composite
> and created two labels (one for the logo and one for the text). I
> created the LCA class, themes file and javascript files as explained in
> the help documentation. I have also registered extensions for resources
> and themablewidget.
>
> The custom widget shows the logo and the text. Now I am trying to set
> the background image (with gradient fill) for the composite and also
> custom theme keys for the font for the title text. I have a few
> questions. Basically I do not understand how all these different pieces
> glue together. I looked at the various widgets defined in RAP and also
> some examples posted in the newgroup. I still don't understand how all
> these work together.
>
> 1. The background image for my custom widget and the gradient fill does
> not show. I have defined the backgroundImage and backgroundRepeat
> properties in the javascript files and also provided the apply method.
> I have the background image file in resources directory under the plugin
> directory.
>
> 2. How can I define custom theme keys for the title label widget. I
> don't want to use the generic widget.font key. I want to define
> somehting like applicationheader.title.font. How can I do that.
>
> Thanks
> Anand
>
> --
> ____________________________________________________________ ____________
> _________
>
> Anand Narasimhan
> anandn@cisco.com
>
--
____________________________________________________________ _____________________
Anand Narasimhan
anandn@cisco.com
|
|
|
Re: Custom widgets and Themes [message #75281 is a reply to message #74857] |
Sat, 23 February 2008 07:50 |
Anand Narasimhan Messages: 104 Registered: July 2009 |
Senior Member |
|
|
Hi,
If, in my <Widget>.theme.xml I have define the following, I get
IllegalArgumentException saying the image file is not found.
<image name="applicationheader.bgimage"
description="Background image for application header"
targetPath="applicationheader/headerBgGradient.gif"
default="resource/widgets/applicationheader/headerBgGradient.gif "/>
I looked at the registerThemeableWidgetImages method, it is trying to
load the image using the ThemeManager's class loader.
ClassLoader classLoader = ThemeManager.class.getClassLoader();
What is the purpose of the "default" attribute in the themes xml file?
If the theme manager is trying to load the image, will it find the
image, since the ThemeManager's class loader is being used, will the
resource defined in my plugin be visible to the theme manager's class
loader?
java.lang.IllegalArgumentException: Resource
'resource/widgets/applicationheader/headerBgGradient.gif' not found for
theme 'RAP Default Theme'
at
org.eclipse.rwt.internal.theme.ThemeManager.registerThemeabl eWidgetImages(ThemeManager.java:764)
at
org.eclipse.rwt.internal.theme.ThemeManager.registerThemeFil es(ThemeManager.java:678)
at
org.eclipse.rwt.internal.theme.ThemeManager.registerResource s(ThemeManager.java:329)
at
org.eclipse.swt.internal.widgets.displaykit.DisplayLCA.write Libraries(DisplayLCA.java:218)
at
org.eclipse.rwt.internal.lifecycle.DisplayUtil.writeLibrarie s(DisplayUtil.java:66)
at
org.eclipse.rwt.internal.service.LifeCycleServiceHandlerConf igurer.getLibraries(LifeCycleServiceHandlerConfigurer.java:2 02)
at
org.eclipse.rwt.internal.service.LifeCycleServiceHandlerConf igurer.getTemplateOfStartupPage(LifeCycleServiceHandlerConfi gurer.java:60)
at
org.eclipse.rwt.internal.service.BrowserSurvey.load(BrowserS urvey.java:123)
at
org.eclipse.rwt.internal.service.BrowserSurvey.renderScript( BrowserSurvey.java:90)
at
org.eclipse.rwt.internal.service.BrowserSurvey.sendBrowserSu rvey(BrowserSurvey.java:51)
at
org.eclipse.rwt.internal.service.LifeCycleServiceHandler.int ernalService(LifeCycleServiceHandler.java:180)
at
org.eclipse.rwt.internal.service.LifeCycleServiceHandler.acc ess$1(LifeCycleServiceHandler.java:168)
at
org.eclipse.rwt.internal.service.LifeCycleServiceHandler$Lif eCycleServiceHandlerSync.doService(LifeCycleServiceHandler.j ava:133)
at
org.eclipse.rwt.internal.lifecycle.RWTLifeCycleServiceHandle rSync.serviceInternal(RWTLifeCycleServiceHandlerSync.java:45 )
at
org.eclipse.rwt.internal.lifecycle.RWTLifeCycleServiceHandle rSync.service(RWTLifeCycleServiceHandlerSync.java:34)
at
org.eclipse.rwt.internal.service.LifeCycleServiceHandler.ser vice(LifeCycleServiceHandler.java:140)
at
org.eclipse.rwt.internal.service.ServiceManager$HandlerDispa tcher.service(ServiceManager.java:100)
at org.eclipse.rwt.internal.engine.RWTDelegate.doPost(RWTDelega te.java:61)
at
org.eclipse.ui.internal.servlet.RequestHandler.service(Reque stHandler.java:52)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.handleRequest(ServletRegistration.java:90)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:111)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at
org.eclipse.equinox.http.jetty.internal.HttpServerManager$In ternalHttpServiceServlet.service(HttpServerManager.java:270)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder .java:428)
at
org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHan dler.java:677)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandl er.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java: 820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.ja va:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:8 37)
at
org.mortbay.http.SocketListener.handleConnection(SocketListe ner.java:245)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:3 57)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:5 34)
Thanks
Anand
Frank Appel wrote:
> Hi,
>
> I had a short look at your demo. You are mixing up two approaches to
> create custom widgets. Either you use composition like you're doing in
> the ApplicationHeader class, or you write a custom widget from scratch
> that is completely build on a clientside javascript representation. The
> widget instance itself works as stateholder on serverside.
>
> Note that only the second approach currently allows individual theming
> out of the box. But we are currently working on a enhancement of the
> current theming mechanism that will allow to define style-class like
> entries in the theme properties definitions. With that in place you will
> also be able to style widgets created with composition.
>
> By the way I didn't find the gradient fill in your code. Rendering
> Gradients is currently not supported with RAP - so I was wondering if
> some unsupported API sneeked into...
>
>
> Ciao
> Frank
>
> -----Ursprüngliche Nachricht-----
> Von: Anand Narasimhan [mailto:anandn@cisco.com]
> Bereitgestellt: Mittwoch, 20. Februar 2008 06:25
> Bereitgestellt in: eclipse.technology.rap
> Unterhaltung: Custom widgets and Themes
> Betreff: Custom widgets and Themes
>
>
> Hi,
>
> I am trying to write a custom widget to put a logo and text in a
> Composite. I created a widget ApplicationHeader that extends composite
> and created two labels (one for the logo and one for the text). I
> created the LCA class, themes file and javascript files as explained in
> the help documentation. I have also registered extensions for resources
> and themablewidget.
>
> The custom widget shows the logo and the text. Now I am trying to set
> the background image (with gradient fill) for the composite and also
> custom theme keys for the font for the title text. I have a few
> questions. Basically I do not understand how all these different pieces
> glue together. I looked at the various widgets defined in RAP and also
> some examples posted in the newgroup. I still don't understand how all
> these work together.
>
> 1. The background image for my custom widget and the gradient fill does
> not show. I have defined the backgroundImage and backgroundRepeat
> properties in the javascript files and also provided the apply method.
> I have the background image file in resources directory under the plugin
> directory.
>
> 2. How can I define custom theme keys for the title label widget. I
> don't want to use the generic widget.font key. I want to define
> somehting like applicationheader.title.font. How can I do that.
>
> Thanks
> Anand
>
> --
> ____________________________________________________________ ____________
> _________
>
> Anand Narasimhan
> anandn@cisco.com
>
--
____________________________________________________________ _____________________
Anand Narasimhan
anandn@cisco.com
|
|
|
Re: Custom widgets and Themes [message #75331 is a reply to message #75281] |
Mon, 25 February 2008 10:17 |
Eclipse User |
|
|
|
Originally posted by: rsternberg.innoopract.com
Hi Anand,
you're right, this is a bug in the ThemeManager. Thanks for pointing this
out. I filed https://bugs.eclipse.org/bugs/show_bug.cgi?id=220162.
This will be fixed with high priority, probably today or tomorrow.
Best,
Ralf
Anand Narasimhan wrote:
> Hi,
>
> If, in my <Widget>.theme.xml I have define the following, I get
> IllegalArgumentException saying the image file is not found.
>
> <image name="applicationheader.bgimage"
> description="Background image for application header"
> targetPath="applicationheader/headerBgGradient.gif"
> default="resource/widgets/applicationheader/headerBgGradient.gif "/>
>
>
> I looked at the registerThemeableWidgetImages method, it is trying to
> load the image using the ThemeManager's class loader.
>
> ClassLoader classLoader = ThemeManager.class.getClassLoader();
>
> What is the purpose of the "default" attribute in the themes xml file?
> If the theme manager is trying to load the image, will it find the
> image, since the ThemeManager's class loader is being used, will the
> resource defined in my plugin be visible to the theme manager's class
> loader?
>
>
> java.lang.IllegalArgumentException: Resource
> 'resource/widgets/applicationheader/headerBgGradient.gif' not found for
> theme 'RAP Default Theme'
> at
>
org.eclipse.rwt.internal.theme.ThemeManager.registerThemeabl eWidgetImages(ThemeManager.java:764)
> at
>
org.eclipse.rwt.internal.theme.ThemeManager.registerThemeFil es(ThemeManager.java:678)
> at
>
org.eclipse.rwt.internal.theme.ThemeManager.registerResource s(ThemeManager.java:329)
> at
>
org.eclipse.swt.internal.widgets.displaykit.DisplayLCA.write Libraries(DisplayLCA.java:218)
> at
>
org.eclipse.rwt.internal.lifecycle.DisplayUtil.writeLibrarie s(DisplayUtil.java:66)
> at
>
org.eclipse.rwt.internal.service.LifeCycleServiceHandlerConf igurer.getLibraries(LifeCycleServiceHandlerConfigurer.java:2 02)
> at
>
org.eclipse.rwt.internal.service.LifeCycleServiceHandlerConf igurer.getTemplateOfStartupPage(LifeCycleServiceHandlerConfi gurer.java:60)
> at
>
org.eclipse.rwt.internal.service.BrowserSurvey.load(BrowserS urvey.java:123)
> at
>
org.eclipse.rwt.internal.service.BrowserSurvey.renderScript( BrowserSurvey.java:90)
> at
>
org.eclipse.rwt.internal.service.BrowserSurvey.sendBrowserSu rvey(BrowserSurvey.java:51)
> at
>
org.eclipse.rwt.internal.service.LifeCycleServiceHandler.int ernalService(LifeCycleServiceHandler.java:180)
> at
> org.eclipse.rwt.internal.service.LifeCycleServiceHandler.acc ess$
(LifeCycleServiceHandler.java:168)
> at
>
org.eclipse.rwt.internal.service.LifeCycleServiceHandler$Lif eCycleServiceHandlerSync.doService(LifeCycleServiceHandler.j ava:133)
> at
>
org.eclipse.rwt.internal.lifecycle.RWTLifeCycleServiceHandle rSync.serviceInternal(RWTLifeCycleServiceHandlerSync.java:45 )
> at
>
org.eclipse.rwt.internal.lifecycle.RWTLifeCycleServiceHandle rSync.service(RWTLifeCycleServiceHandlerSync.java:34)
> at
>
org.eclipse.rwt.internal.service.LifeCycleServiceHandler.ser vice(LifeCycleServiceHandler.java:140)
> at
>
org.eclipse.rwt.internal.service.ServiceManager$HandlerDispa tcher.service(ServiceManager.java:100)
> at org.eclipse.rwt.internal.engine.RWTDelegate.doPost(RWTDelega te.java:61)
> at
>
org.eclipse.ui.internal.servlet.RequestHandler.service(Reque stHandler.java:52)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at
>
org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.handleRequest(ServletRegistration.java:90)
> at
>
org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:111)
> at
>
org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:59)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at
>
org.eclipse.equinox.http.jetty.internal.HttpServerManager$In ternalHttpServiceServlet.service(HttpServerManager.java:270)
> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder .java:428)
> at
> org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHan dler.java:677)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandl er.java:568)
> at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at
> org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at
> org.mortbay.http.HttpServer.service(HttpServer.java:909) at
> org.mortbay.http.HttpConnection.service(HttpConnection.java: 820) at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.ja va:986) at
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:8 37) at
> org.mortbay.http.SocketListener.handleConnection(SocketListe ner.java:245)
> at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:3 57)
> at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:5 34)
>
> Thanks
> Anand
>
>
> Frank Appel wrote:
>> Hi,
>>
>> I had a short look at your demo. You are mixing up two approaches to
>> create custom widgets. Either you use composition like you're doing in
>> the ApplicationHeader class, or you write a custom widget from scratch
>> that is completely build on a clientside javascript representation. The
>> widget instance itself works as stateholder on serverside.
>>
>> Note that only the second approach currently allows individual theming
>> out of the box. But we are currently working on a enhancement of the
>> current theming mechanism that will allow to define style-class like
>> entries in the theme properties definitions. With that in place you will
>> also be able to style widgets created with composition.
>>
>> By the way I didn't find the gradient fill in your code. Rendering
>> Gradients is currently not supported with RAP - so I was wondering if
>> some unsupported API sneeked into...
>>
>>
>> Ciao
>> Frank
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Anand Narasimhan [mailto:anandn@cisco.com]
>> Bereitgestellt: Mittwoch, 20. Februar 2008 06:25
>> Bereitgestellt in: eclipse.technology.rap
>> Unterhaltung: Custom widgets and Themes
>> Betreff: Custom widgets and Themes
>>
>>
>> Hi,
>>
>> I am trying to write a custom widget to put a logo and text in a
>> Composite. I created a widget ApplicationHeader that extends composite
>> and created two labels (one for the logo and one for the text). I
>> created the LCA class, themes file and javascript files as explained in
>> the help documentation. I have also registered extensions for resources
>> and themablewidget.
>>
>> The custom widget shows the logo and the text. Now I am trying to set
>> the background image (with gradient fill) for the composite and also
>> custom theme keys for the font for the title text. I have a few
>> questions. Basically I do not understand how all these different pieces
>> glue together. I looked at the various widgets defined in RAP and also
>> some examples posted in the newgroup. I still don't understand how all
>> these work together.
>>
>> 1. The background image for my custom widget and the gradient fill does
>> not show. I have defined the backgroundImage and backgroundRepeat
>> properties in the javascript files and also provided the apply method.
>> I have the background image file in resources directory under the plugin
>> directory.
>>
>> 2. How can I define custom theme keys for the title label widget. I
>> don't want to use the generic widget.font key. I want to define
>> somehting like applicationheader.title.font. How can I do that.
>>
>> Thanks
>> Anand
>>
>> --
>> ____________________________________________________________ ____________
>> _________
>>
>> Anand Narasimhan
>> anandn@cisco.com
>>
>
>
|
|
|
Re: Custom widgets and Themes [message #75410 is a reply to message #75331] |
Mon, 25 February 2008 17:56 |
Anand Narasimhan Messages: 104 Registered: July 2009 |
Senior Member |
|
|
Ralf,
Thanks for filing the bug and fixing it.
Looking forward to getting the fix.
Thanks
Anand
Ralf Sternberg wrote:
> Hi Anand,
>
> you're right, this is a bug in the ThemeManager. Thanks for pointing this
> out. I filed https://bugs.eclipse.org/bugs/show_bug.cgi?id=220162.
> This will be fixed with high priority, probably today or tomorrow.
>
> Best,
> Ralf
>
> Anand Narasimhan wrote:
>> Hi,
>>
>> If, in my <Widget>.theme.xml I have define the following, I get
>> IllegalArgumentException saying the image file is not found.
>>
>> <image name="applicationheader.bgimage"
>> description="Background image for application header"
>> targetPath="applicationheader/headerBgGradient.gif"
>> default="resource/widgets/applicationheader/headerBgGradient.gif "/>
>>
>>
>> I looked at the registerThemeableWidgetImages method, it is trying to
>> load the image using the ThemeManager's class loader.
>>
>> ClassLoader classLoader = ThemeManager.class.getClassLoader();
>>
>> What is the purpose of the "default" attribute in the themes xml file?
>> If the theme manager is trying to load the image, will it find the
>> image, since the ThemeManager's class loader is being used, will the
>> resource defined in my plugin be visible to the theme manager's class
>> loader?
>>
>>
>> java.lang.IllegalArgumentException: Resource
>> 'resource/widgets/applicationheader/headerBgGradient.gif' not found for
>> theme 'RAP Default Theme'
>> at
>>
> org.eclipse.rwt.internal.theme.ThemeManager.registerThemeabl eWidgetImages(ThemeManager.java:764)
>> at
>>
> org.eclipse.rwt.internal.theme.ThemeManager.registerThemeFil es(ThemeManager.java:678)
>> at
>>
> org.eclipse.rwt.internal.theme.ThemeManager.registerResource s(ThemeManager.java:329)
>> at
>>
> org.eclipse.swt.internal.widgets.displaykit.DisplayLCA.write Libraries(DisplayLCA.java:218)
>> at
>>
> org.eclipse.rwt.internal.lifecycle.DisplayUtil.writeLibrarie s(DisplayUtil.java:66)
>> at
>>
> org.eclipse.rwt.internal.service.LifeCycleServiceHandlerConf igurer.getLibraries(LifeCycleServiceHandlerConfigurer.java:2 02)
>> at
>>
> org.eclipse.rwt.internal.service.LifeCycleServiceHandlerConf igurer.getTemplateOfStartupPage(LifeCycleServiceHandlerConfi gurer.java:60)
>> at
>>
> org.eclipse.rwt.internal.service.BrowserSurvey.load(BrowserS urvey.java:123)
>> at
>>
> org.eclipse.rwt.internal.service.BrowserSurvey.renderScript( BrowserSurvey.java:90)
>> at
>>
> org.eclipse.rwt.internal.service.BrowserSurvey.sendBrowserSu rvey(BrowserSurvey.java:51)
>> at
>>
> org.eclipse.rwt.internal.service.LifeCycleServiceHandler.int ernalService(LifeCycleServiceHandler.java:180)
>> at
>> org.eclipse.rwt.internal.service.LifeCycleServiceHandler.acc ess$
> (LifeCycleServiceHandler.java:168)
>> at
>>
> org.eclipse.rwt.internal.service.LifeCycleServiceHandler$Lif eCycleServiceHandlerSync.doService(LifeCycleServiceHandler.j ava:133)
>> at
>>
> org.eclipse.rwt.internal.lifecycle.RWTLifeCycleServiceHandle rSync.serviceInternal(RWTLifeCycleServiceHandlerSync.java:45 )
>> at
>>
> org.eclipse.rwt.internal.lifecycle.RWTLifeCycleServiceHandle rSync.service(RWTLifeCycleServiceHandlerSync.java:34)
>> at
>>
> org.eclipse.rwt.internal.service.LifeCycleServiceHandler.ser vice(LifeCycleServiceHandler.java:140)
>> at
>>
> org.eclipse.rwt.internal.service.ServiceManager$HandlerDispa tcher.service(ServiceManager.java:100)
>> at org.eclipse.rwt.internal.engine.RWTDelegate.doPost(RWTDelega te.java:61)
>> at
>>
> org.eclipse.ui.internal.servlet.RequestHandler.service(Reque stHandler.java:52)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>> at
>>
> org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.handleRequest(ServletRegistration.java:90)
>> at
>>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:111)
>> at
>>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:59)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>> at
>>
> org.eclipse.equinox.http.jetty.internal.HttpServerManager$In ternalHttpServiceServlet.service(HttpServerManager.java:270)
>> at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder .java:428)
>> at
>> org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHan dler.java:677)
>> at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandl er.java:568)
>> at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at
>> org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at
>> org.mortbay.http.HttpServer.service(HttpServer.java:909) at
>> org.mortbay.http.HttpConnection.service(HttpConnection.java: 820) at
>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.ja va:986) at
>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:8 37) at
>> org.mortbay.http.SocketListener.handleConnection(SocketListe ner.java:245)
>> at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:3 57)
>> at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:5 34)
>>
>> Thanks
>> Anand
>>
>>
>> Frank Appel wrote:
>>> Hi,
>>>
>>> I had a short look at your demo. You are mixing up two approaches to
>>> create custom widgets. Either you use composition like you're doing in
>>> the ApplicationHeader class, or you write a custom widget from scratch
>>> that is completely build on a clientside javascript representation. The
>>> widget instance itself works as stateholder on serverside.
>>>
>>> Note that only the second approach currently allows individual theming
>>> out of the box. But we are currently working on a enhancement of the
>>> current theming mechanism that will allow to define style-class like
>>> entries in the theme properties definitions. With that in place you will
>>> also be able to style widgets created with composition.
>>>
>>> By the way I didn't find the gradient fill in your code. Rendering
>>> Gradients is currently not supported with RAP - so I was wondering if
>>> some unsupported API sneeked into...
>>>
>>>
>>> Ciao
>>> Frank
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Anand Narasimhan [mailto:anandn@cisco.com]
>>> Bereitgestellt: Mittwoch, 20. Februar 2008 06:25
>>> Bereitgestellt in: eclipse.technology.rap
>>> Unterhaltung: Custom widgets and Themes
>>> Betreff: Custom widgets and Themes
>>>
>>>
>>> Hi,
>>>
>>> I am trying to write a custom widget to put a logo and text in a
>>> Composite. I created a widget ApplicationHeader that extends composite
>>> and created two labels (one for the logo and one for the text). I
>>> created the LCA class, themes file and javascript files as explained in
>>> the help documentation. I have also registered extensions for resources
>>> and themablewidget.
>>>
>>> The custom widget shows the logo and the text. Now I am trying to set
>>> the background image (with gradient fill) for the composite and also
>>> custom theme keys for the font for the title text. I have a few
>>> questions. Basically I do not understand how all these different pieces
>>> glue together. I looked at the various widgets defined in RAP and also
>>> some examples posted in the newgroup. I still don't understand how all
>>> these work together.
>>>
>>> 1. The background image for my custom widget and the gradient fill does
>>> not show. I have defined the backgroundImage and backgroundRepeat
>>> properties in the javascript files and also provided the apply method.
>>> I have the background image file in resources directory under the plugin
>>> directory.
>>>
>>> 2. How can I define custom theme keys for the title label widget. I
>>> don't want to use the generic widget.font key. I want to define
>>> somehting like applicationheader.title.font. How can I do that.
>>>
>>> Thanks
>>> Anand
>>>
>>> --
>>> ____________________________________________________________ ____________
>>> _________
>>>
>>> Anand Narasimhan
>>> anandn@cisco.com
>>>
>>
>
--
____________________________________________________________ _____________________
Anand Narasimhan
anandn@cisco.com
|
|
| | | |
Re: Custom widgets and Themes [message #75761 is a reply to message #75744] |
Wed, 27 February 2008 06:28 |
Anand Narasimhan Messages: 104 Registered: July 2009 |
Senior Member |
|
|
Ralf,
I got the latest from CVS (again). This time it worked. I don't see the
exception anymore. But the image does not show up in my UI. I have a
custom component that extends Composite and I have the appearence defined as
appearances = {
// BEGIN TEMPLATE //
"application-header": {
style: function(states){
return {
backgroundImage: "aapplicationheader.bgimage",
};
}
},
"application-header-title": {
style: function(states){
return {
textColor: "applicationheader.title.foreground",
backgroundColor: null
};
}
}
// END TEMPLATE //
};
the textColor works, but the backgroundImage does not.
Thanks
Anand
Anand Narasimhan wrote:
> Ralf,
>
> I got the latest sources from CVS. I don't see the changes. I took it
> from eclipse.org from /cvsroot/technology. Is that the right location?
>
> Thanks
> Anand
>
> Anand Narasimhan wrote:
>> Ralf,
>>
>> Thanks. I will try the latest code.
>>
>> Anand
>>
>> Ralf Sternberg wrote:
>>> Hi Anand,
>>>
>>> Anand Narasimhan wrote:
>>>> Thanks for filing the bug and fixing it.
>>>> Looking forward to getting the fix.
>>>
>>> The bug is fixed in CVS head. Please also note that since 1.1M2, you
>>> don't
>>> need to specify the targetPath attribute in the theme.xml file
>>> anymore (See
>>> also
>>> http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse. rap.help/help/html/advanced/theming-custom.html)
>>>
>>>
>>> Best Regards,
>>> Ralf
>>
>>
>
>
--
____________________________________________________________ _____________________
Anand Narasimhan
anandn@cisco.com
|
|
|
Re: Custom widgets and Themes [message #76217 is a reply to message #75744] |
Mon, 03 March 2008 03:46 |
Eclipse User |
|
|
|
Originally posted by: allen_liu.i-len.com
Anand Narasimhan wrote:
> Ralf,
>
> I got the latest sources from CVS. I don't see the changes. I took it
> from eclipse.org from /cvsroot/technology. Is that the right location?
>
> Thanks
> Anand
>
> Anand Narasimhan wrote:
>> Ralf,
>>
>> Thanks. I will try the latest code.
>>
>> Anand
>>
>> Ralf Sternberg wrote:
>>> Hi Anand,
>>>
>>> Anand Narasimhan wrote:
>>>> Thanks for filing the bug and fixing it.
>>>> Looking forward to getting the fix.
>>>
>>> The bug is fixed in CVS head. Please also note that since 1.1M2, you
>>> don't
>>> need to specify the targetPath attribute in the theme.xml file anymore
>>> (See
>>> also
>>>
http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse. rap.help/help/html/advanced/theming-custom.html)
>>>
>>>
>>> Best Regards,
>>> Ralf
>>
>>
>
>
Hi Anand:
Have you complete the Custom Widgets? I want to implement a login page which
can set background images ,fill gradient for the composite .can you give me
some advice ?
thanks
allen
|
|
|
Goto Forum:
Current Time: Thu Sep 19 12:36:14 GMT 2024
Powered by FUDForum. Page generated in 0.27232 seconds
|