Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [nebula-dev] CDateTime / CWT major change

Hi Wim,

Thanks for tips! I had found the xml descriptor but I was stuck at the calling the external editor. I couldn't find any related parts in the xml file.

inside there, I think this is the most related section but still can't get.sorry, really hope for your help in this part :

<parameters>
<parameter name="layout.has">false</parameter>
<parameter name="SWT.runAsyncMessages">true</parameter>
<!-- selection listener -->
<parameter name="double-click.listener">selection/widgetSelected</parameter>
<!-- untyped events -->
<parameter name="RCP.untyped.events: org.eclipse.nebula.widgets.cdatetime.CDateTime"><![CDATA[
Selection
]]></parameter>
</parameters>

or...is it when setSelection called without any paramter, it will automatically open the date chooser ? but how bout the icon beside ? 

Thanks 

On Thu, Mar 16, 2017 at 7:19 PM, Wim Jongman <wim.jongman@xxxxxxxxx> wrote:
Hi Ivan,

Some of the Nebula widgets are supported in windowbuilder, but not all of them. 

Please see part of the conversation I had with Eric below [3]. Since we are now released the jars could ship again with WB.

Best regards,

Wim


[3]

Wim,

Nice to hear from you.

I am the co-lead of the Nebula project. I wonder if we can do something to integrate the Nebula widgets into Windowbuilder.

Actually, we already have a fair amount of Nebula integration already in WB. Prior to open sourcing WB, we actually shipped the Nebula jars with WB and had those widgets show up in a category in the WB palette. Once the project moved to Eclipse, the Eclipse IP folks told us that we could not ship those jars anymore. We did keep the Nebula support in place however, so, if you add the nebula jars to your project classpath, the Nebula palette should show up in WB as shown here...



The actual Nebula support code in WB can be found here:


...and the palette definition itself is here...


...and most of the widget attributes are defined in XML files found here...

I was thinking of some kind of automatic discovery process or a special way of advertising the widgets to Windowbuilder. Do you have any thoughts on this?

I have not tried loading the Nebula widgets into WB in quite awhile, but I hope it still works (if not, we need to fix that).

Going forward, it would be great to get someone on the Nebula side involved to help maintain the WB integration code as well. Aside from the few widgets that need complex layout behavior (like tables with columns), integrating a new widget is very simple and just involves adding/tweaking XML files. Lots of examples exist for all of the current widgets.

Regards,

-Eric



_______________________________________________
nebula-dev mailing list
nebula-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/nebula-dev

<?xml version="1.0" encoding="UTF-8"?>
<component xmlns="http://www.eclipse.org/wb/WBPComponent";>
	<description> The CDateTime provides both textual and graphical means for setting the attributes of a
		java.util.Date class.</description>
	<!-- CREATION -->
	<creation>
		<source><![CDATA[new org.eclipse.nebula.widgets.cdatetime.CDateTime(%parent%, org.eclipse.nebula.widgets.cdatetime.CDT.NONE)]]></source>
	</creation>
	<!-- CONSTRUCTORS -->
	<constructors>
		<constructor>
			<parameter type="org.eclipse.swt.widgets.Composite" parent="true"/>
			<parameter type="int" defaultSource="org.eclipse.nebula.widgets.cdatetime.CDT.NONE">
				<editor id="style">
					<parameter name="class">org.eclipse.nebula.widgets.cdatetime.CDT</parameter>
					<parameter name="set">BORDER SPINNER TAB_FIELDS CLOCK_12_HOUR CLOCK_24_HOUR CLOCK_DISCRETE
						COMPACT HORIZONTAL</parameter>
					<parameter name="select0">general NONE NONE SIMPLE DROP_DOWN</parameter>
					<!--
						not working (no effect for setButtonVisible), use individual property buttonVisibility & buttonVisible 
					<parameter name="select">buttonVisibility BUTTON_AUTO BUTTON_AUTO BUTTON_ALWAYS BUTTON_NEVER BUTTON_MANUAL</parameter>
					-->
					<parameter name="select1">buttonPosition BUTTON_RIGHT BUTTON_RIGHT BUTTON_LEFT</parameter>
					<parameter name="select2">dateFormat NONE NONE DATE_SHORT DATE_MEDIUM DATE_LONG</parameter>
					<parameter name="select3">timeFormat NONE NONE TIME_SHORT TIME_MEDIUM</parameter>
				</editor>
			</parameter>
		</constructor>
	</constructors>
	<!-- EXPOSING RULES -->
	<exposing-rules>
		<exclude package="org.eclipse.nebula.widgets.cdatetime"/>
	</exposing-rules>
	<!-- PROPERTIES -->
	<properties-preferred names="pattern"/>
	<properties-advanced names="format locale"/>
	<property id="setFormat(int)">
		<editor id="style">
			<parameter name="class">org.eclipse.nebula.widgets.cdatetime.CDT</parameter>
			<parameter name="select0">dateFormat NONE NONE DATE_SHORT DATE_MEDIUM DATE_LONG</parameter>
			<parameter name="select1">timeFormat NONE NONE TIME_SHORT TIME_MEDIUM</parameter>
		</editor>
		<defaultValue value="org.eclipse.nebula.widgets.cdatetime.CDT.NONE"/>
	</property>
	<property id="setSelection(java.util.Date)">
		<category value="preferred"/>
		<editor id="customDate">
			<parameter name="functions">import java.text.SimpleDateFormat;</parameter>
			<parameter name="toString">new
				SimpleDateFormat(control.getPattern(),control.getLocale()).format(value)</parameter>
			<parameter name="toDate">new
				SimpleDateFormat(control.getPattern(),control.getLocale()).parse(value)</parameter>
		</editor>
	</property>
	<!-- MORPHING -->
	<morphTargets>
		<morphTarget class="org.eclipse.nebula.widgets.calendarcombo.CalendarCombo"/>
		<morphTarget class="org.eclipse.nebula.widgets.datechooser.DateChooser"/>
		<morphTarget class="org.eclipse.nebula.widgets.datechooser.DateChooserCombo"/>
		<morphTarget class="org.eclipse.swt.widgets.DateTime"/>
	</morphTargets>
	<!-- PARAMETERS -->
	<parameters>
		<parameter name="layout.has">false</parameter>
		<parameter name="SWT.runAsyncMessages">true</parameter>
		<!-- selection listener -->
		<parameter name="double-click.listener">selection/widgetSelected</parameter>
		<!-- untyped events -->
		<parameter name="RCP.untyped.events: org.eclipse.nebula.widgets.cdatetime.CDateTime"><![CDATA[
			Selection
		]]></parameter>
	</parameters>
</component>

Back to the top