Messages by Bo

23 topics, 337 messages
Official announcements » Kuix 1.0.2 / Kutil 1.0.3 - Annouced

Now available in beta state on the SVN, the next release of Kuix / Kutil will be available on 2009-02-10.

Kuix 1.1.0 Changelog

- Bug fix : avoid the bug when setting a very small value in Gauge
- Bug fix : avoid a NullPointerException when define null border multi color
- Bug fix : avoid lack of clean up in Menu widget when calling the removeAll() method
- Bug fix : avoid TextField tooltip style inheritance problem
- Bug fix : '/' character are no more ignored while CSS parse
- Bug fix : action parameters can now contains space characters

- The Tablelayout was rewrited to use correctly the weight values
    - weight style property not need fixed-point integer values (ie. 0.5 for 50%)

- Remove all deprecated methods/functions
- Remove all static method in KuixConverter. Use Kuix.getConverter() instead.
- Remove the ScrollPane **useMarkers** attribute. This notion is now manged automaticaly
- Replace *focusedwidget* keyword detection in Kuix.parseMethod() function by a default *focusedwidget* read only attribute on all widget. Example : onAction="doMyAction(#myRootWidgetId.focusedwidget)

- Add a new Jad attribute : **KUIX-Deskop-Bounds** to customize the desktop size and position (the value is something like : *x,y,w,h*)
- Add *widget path* capabilities in Kuix.parseMethod(..) function. It's now possible to do :
- Add KuixCanvas.addUnpaintableWidget(Widget widget), KuixCanvas.removeUnpaintableWidget(Widget widget)and KuixCanvas.clearUnpaintableWidgets() methods to mask region of display from Kuix repaint process.

- Add a new **transform** attribute to the Picture widget to be able to apply rot and mirror transform on the source image
- Add a new **autoscroll** attribute to the ScrollPane widget. The autoScroll attribute force the scroll position to the max value each time the {@link ScrollPane} content change or is invalidated.
- Add a new **editonallkeys** attribute to the TextField widget. The editOnAllKeys attribute define if the J2ME native edit dialog is opened when any valid key is hit when the widget has the focus.
- Add a new **title** attribute to the Choice widget. The title is used as title of the choice screen.
- Picture src attribute accept now clipped image like url(x,y,width,height,transform) in css file

- Add a new **greyed-color** style property on all widget used when the is displayed as popup.

- StyleProperty now convert its value (Color, Margin, Layout, ...) only on first use to save some memory

- The PopupBox widget has been completly rewrited. It works now more than a Screen widget with a BottomBar were buttons are placed.
    - A popupBox can now be defined from an XML definition like
<code>
&lt;popupBox&gt;
    My content here
    &lt;popupBoxFirstMenuItem&gt;Ok&lt;/popupBoxFirstMenuItem&gt;
&lt;/popupBox&gt;
</code>
    - new Kuix.showPopupBox(InputStream, Dataprovider) and Kuix.showPopupBox(String, Dataprovider)
    - new Kuix.customizeAlertLabels(ByteArrayInputStream, ByteArrayInputStream, ByteArrayInputStream, ByteArrayInputStream) to customize alert labels with special rendrers (XML input streams) (Ok, cancel, yes, no).
    - new Kuix.customizeScreenMenuLabels(Widget, Widget) to customize screen menu labels with special rendrers (XML input streams) (select and cancel).

Kutil 1.0.3 Changelog

- NumberUtil can now manage long integer type
- Rewrite the Encoder.encode64(...) and Encoder.decode64(...) methods

Kuix general board » Rewriting the way that Kuix create popupBox, alert, ...

We planed, in the next release, to rewrite the Kuix popupBox approach to be able to include popupBox buttons into a bottomBar and map it automaticaly on soft keys. But actualy buttons are created dymanicaly by an 'options' parameter and it is possible to have more then two buttons. But no phone has more than 2 soft keys.

Then we want to simplify the procedure and be able to load popupBox completly from an XMl definition. For example :

<popupBox onAction="myClosePopupBoxAction">

Hello world

<popupBoxFirstMenuItem onAction="myOkAction">OK</popupBoxFirstMenuItem>

<popupBoxSecondMenuItem onAction="myCanceAction">Cancel</popupBoxSecondMenuItem>

</popupBox>

But in this case the old Kuix.showPopupBox(...) and Kuis.alert(...) signature would be changed. And your application need to be adaped.

 

Kuix bug report » CSS with urls having / are ignored

Thanks, but it could be better  like this :

                        if (c == '/') {
                            if ((c = reader.read()) == '*') {
                                commentCapture = true;
                                c = reader.read();
                                continue;
                            } else {
                                if (selectorsCapture) {
                                    rawSelectors.append('/');
                                } else {
                                    rawDefinitions.append('/');
                                }
                            }
                        }

Kuix technical support » Any way of using system menus instead of buttons in popup box

You can't realy customize the softkey labels. But you can place the popupBox button near soft buttons. Create a popupBox that use all the display surface and add a popupboxButtonsContainer css selector to customize its layout to gridlayout(2,1).

.myPopupClass popupboxButtonsContainer{

layout: gridlayout(2,1); /* because here you use 2 buttons */

}

Kuix technical support » Application re-launching at second time failed after exiting the Application

What is exactly do in MainFrame.java at line 375 ?

Kuix technical support » Relative size in a widget with a table layout

Hi, I'm pleased to announce that we have rewrite the TableLayout to work correctly with the weight attributes. Then if you checkout the lastest Kuix sources, you would be able to do :

<container style="layout:tablelayout">

<container id="fixedsize" style="min-size: w h">...</container>

<container id="restofthewidth">...</container>

<break/>

<container id="15percent" style="span: 2 1; weight: 0 .15">...</container>

<!-- 15% of the full size -->

<break/>

<container id="notrealy85percent" style="span: 2 1;">...</container>

</container>

If you realy want to have 15% and 85%, you need to do something like :

<container style="layout:borderlayout">

<container style="layout:borderlayout; layout-data:bld(north)">

<container id="fixedsize" style="min-size: w h; layout-data:bld(west)">...</container>

<container id="restofthewidth">...</container>

</container>

<container style="layout:tablelayout">

<container id="15percent" style="span: 2 1; weight: 0 .15">...</container>

<break/>

<container id="notrealy85percent" style="span: 2 1; weight: 0 .85">...</container>

</container>

</container>

Kuix technical support » How to close or hide the popup

You can create a translucent bg with a translucent PNG bg image ...

Kuix general board » KUIX midlet does not start on Nokia phones

Try to checkout the lastest kutil sources. The previous commit contains a non CLDC 1.0 compatible line.

Official announcements » New : Search engine on the forum

Fixed.

Official announcements » New : Search engine on the forum

Hmmm ... yes it seems that there is a problem there, you've got the result of Doc search instead of Forum.

Kuix technical support » How to custom a tree widget?

A tree widget is nothing more than a list. You can try to extend the listItem and indent it according to its position in the tree.

The simplest way could be to simply define padding or margin left of each listitem according to its position in the tree.

Actualy the problem come from the flat représentation of list dataproviders. But you can integrate integrate a depth property on each data item and use it to construct your list.

Kuix technical support » custom widget - camera

You can take a look at this snippet.

Kuix general board » Welcome to Kuix programmers!

As mentioned in the 'Offical annoucement', we are pleased to announce you that you can now contribute by posting you own snippets on each project.

You can acces to the Kuix snippets contribution page, here.

Kuix technical support » Canvas renedering in KUIX

If your canvas is an already writied class the extends the lcdui Canvas, you need to replace temporarily the KuixCanvas by your Canvas.

To to this, you can retieve the Display instance on the KuixMIDlet object.

KuixMIDlet.getDefault().getDisplay().setCurrent(<myOtherCanvas>);

And to go back to KuixCanvas :

KuixMIDlet.getDefault().getDisplay().setCurrent(Kuix.getCanvas());

But be careful that in this case you can mix Kuix UI (button, menu, etc ...) and your other canvas.

 

The second way would be to create a new custom Widget and implement on it the 'Map' painting. Please refer to this page.

 

Official announcements » Contribute and Post you own Snippets

We are pleased to announce you that you can now contribute by posting you own snippets on each project.

For example, you can acces to the Kuix snippets contribution page, here.