IkarusWidgets

A set of IkarusProject(

an xml based web application development platform

) widgets, can be found in this addon. Addon contains following widgets;



IkarusBTextField: (Not compatible with IE)

  • ButtonTextfield converts the entered text to a button when it faces an input character of value textDelimiter.
  • ButtonTextField aims to communicate with server minimum.
  • ButtonTextField can expand its height to the given maxLinestoExpand value (Default:3) if there are more lines than that value, it will show vertical scroll bar.
  • ButtonTextField has focus remember functionality, After server communication, it remembers the next focus component to focus.
  • ButtonTextField has ItemContainer behaviour, each button is represented as item with button title as the itemId. One can register ItemSetChangeListener to get notified about the changes in dataset.
  • REMARK: Browsers backspace functionality must be disabled.



IkarusTextField:

  • there are two additional properties that are used during validating the input characters at client side.
  • IkarusTextField aims to communicate with server minimum.
  • textType property can be PLAIN,ALPHANUMERIC,DIGIT,LETTER. If text type is set to PLAIN it will behave same as com.vaadin.ui.TextField. If text type is set to DIGIT, text field will only accept digits. etc…
  • exceptionalChars property is being used for allowing additional characters to be input other than text type For example an IkarusTextField to be used as an Email input set TextType to ALPHANUMERIC and set exceptionalChars to “@._#”



IkarusOptionGroup:

A customized optiongroup widget, by setting alignment property component will align its options, HORIZONTALLy or VERTICALLY. Default alignment is HORIZONTAL. If there is not enough width to layout HORIZONTALLy component will layout its options VERTICALLY.



IkarusAbsoluteLayout:

  • The only difference from its ancestor “AbsoluteLayout” is that IkarusAbsoluteLayout layouts the captions of its child components horizontally.
  • If the caption of a child component is set, it will layout like this: [++CAPTION++]
    [++COMPONENT++]
  • The width of the caption must be taken into consideration, while setting child components position to the layout → addComponent(Component c, String position)

This looks really great. Do you have a live demo that we can see?

Thanks,
Steve

Where is the demo?

demo will be available very soon, i will post it here when it is completed.
Thanx.
Alper

Yes, a demo would be great

What does jQuery dependency mean?

Is there any documentation as to where I put jQuery for the component to work?

Do you have a demo project that we can download yet? Maybe I can help you with some documentation.

Thanks

Hi,

A simple demo is available now. You can access from addon page or here
Demo
.
thanks,
Alper.

Hi Kevin,

jquery Dependency mean you should somehow introduce jquery.js files to your html pages. In the demo, a new servlet (JQuerySevlet in addon jar)is used for adding those js scripts. Thats all.

Unfortunately documentation is not well prepared yet, since I concentrated on finishing “Ikarus” - a web application development framework-, documentation is being prepared afterwards (as usual for most of the projects :slight_smile: )

kinds,
Alper.

I put the demo.war file on addon page, you may download from there…

Version 1.0.4:
IkarusDock:

  • Flickering problem on load has been fixed.

IkarusTextField:

  • Ikarus text field diverged from vaadins’ TextField. Clientside widget now using renderer & parser objects. At client side set/getText methods return formatted text value where as set/getValue methods return serverside value.

IkarusNumberField:

  • Client side widget changed to use renderer/parser mechanism of VIkarusTextField and done at clientside.
  • GWT NumberFormat has been changed to custom formatting, by this way, precision size can be set up to 40 digits.
  • Bug related to deciamlpart accuracy has ben fixed.
  • Browser compatibility about key press handling has been achieved.

IkarusMaskedTextField (New!!):

  • This widget is combination of MaskedTextField addon widget and IkarusTextField.
  • Widget accepts serverside value, parsing and rendering are done through IkarusTextField parser/renderer mechanism at client side.
  • Known bug: On FF; tab traversal does not work.

Thanks for the cool widgets.

I have a few questions about the IkarusNumberField:

  1. How do I specify the number of decimals to be displayed ?
    setPrecisionSize(0) does not do what I think it should

  2. When I first click in a unfocused numeric field, the cursor always
    jumps to the decimal symbol, and not where I clicked in the number.
    When I afterward (without loosing focus) click inside the number then the cursor is placed correctly

  3. Is there a way to directly retrieve the numeric value as number instead of a String ?

Thanks

André

Nice addon!
The online demo doesn’t work with IE9.

Hi Andre,

setScaleSize() specifies the number of decimals.
setScaleSize(6) → 0.000000
setPrecisionSize() specifies max. length of the integer part.
setPrecisionSize(4) → max number will be 9,999

This is the normal behaviour of the field.

  • enter the integer part
  • press “.” (dot) ->cursor positions to decimalpart
  • enter the decimal digits

May be it should behave always like this??

Since it is a numeric Text field the type of the field is string, but we may add a method which returns BigDecimal, I will add it a soon as possible.

thanks,
Alper.

Hi,
Yes, you are absolutely right but this is a problem related to my server configuration, I could not find time to check it but i will :).
If you can download the demo application .war file and deploy it in your own environment, I think you can play with the demo on IE7+
.

thanks,
Alper.

Hi Alper,

Thanks for 1

When the field is empty (or 0.000) then that behaviour is OK.

But when there is already some value in the field (like 1234.5678) then
when the user clicks in the field in front of the 1 for example, then
the user (or I) expect that the cursor will be where he has clicked…

Would be nice to not have to deal with the different String->Numeric conversion errors because of different locale settings.

:slight_smile:

André

Hello,

it’s me again :slight_smile:

Works fine.

setScaleSize(0) works too,
but the decimal point is still displayed, not what users are used to.

Is there a way to supress the decimal symbol when scale size is 0 ?

IkarusWidgets 1.0.4 + vaadin 6.6.6 + IE8

Hello ,

is it possible to make the addon works with IE8 (without any chrome support and not using IE7 compatibility mode via )
actually I do some work for integrating this addon in our vaadin application but it does not work for IE8 (only compatibility mode )
work done : made a specific class extending ApplicationServlet in order to setup javascript :
page.write(“<script type="text/javascript" src="” + themeUri + “/…/js/jquery-1.6.2.min.js">”);
page.write(“<script type="text/javascript" src="” + themeUri + “/…/js/jquery.jqDock.min.js">”);
page.write(“<script type="text/javascript" src="” + themeUri + “/…/js/ikarusbreadcrumbs.js">”);
added :
if (browser.isIE()) {
// Chrome frame in all versions of IE (only if Chrome frame is
// installed)
// page.write(“<meta http-equiv="X-UA-Compatible" content="chrome=1"/>\n”);

page.write(“<meta http-equiv="X-UA-Compatible" content="IE=7"/>\n”);

}

thanks in advance for your response

Hi,

IkarusBTextField does not function correctly on IE8. Well, on my testbed; I forgot to disable google frame so I could not catch the problem until you mention. Thanks for your remark. I will fix the problem as soon as possible, until that IkarusBTextField will be removed from Demo for IE. The rest of the widgets are working properly. modified demowill be uploaded very soon.
Sorry for the inconvenience.

Alper

Hi,
IE problem is caused by IkarusBTextField. I could not catch it until now because I forgot to disable google frame. The fix will be available soon.

thanks,
Alper.




Changes in version 1.0.6:



IkarusNumericField:

on serverside:
Added two methods for getting and setting value in BigDecimal
getNumericValue
setNumericValue

on clientside:
Constarains on cursor positioning removed.
Integer value rendering fixed(decimal seperator is not shown any more)


IkarusMaskTextField:

Tab traversing problem fixed.
Constraints on cursor positioning removed
Cross-browser support on keypress handling.


IkarusPopupTextField(New) :

A textfield with button. When button is pressed, a subwindow is popuped,
value of the textfield is passed to the subwindow.

Can behave like any other textfield(Numeric,Masked,Plain textfield)

2 event(open/close) execution orders:

PopupOpen:

  1. execute the openlistener of the popuptextfield
  2. execute the openlistener of the dialog.
  3. execute any other registered openlisteners.

PopupClose:

  1. execute the closelistener of the dialog
  2. execute the closelistener of the popuptextfield.
  3. execute other registered closelisteners.


IkarusSlidingPanel

In this version, panel and the header button location can be adjusted by setting offset,
in previous releases, location can be one of BEGINING,MIDDLE,END.
From this release on, one can set the offset on serverside.
By sefault both offsets are set to locate panel and header in the middle.
setHeaderLocation() method changed to setHeaderOffset()

[u]

IkarusBTextField:
[/u]
Not compatible with IE.