Monday, March 16, 2009

FarsiLibrary 2.1 Released

Finally the 2.1 version of FarsiLibrary is released. Here are the changes made into this version:


- Fixed : Rendering of controls in non-official themes or when a 3rd party windows skinning (e.g. WindowsBlinds) is installed.
- Fixed : Problem when setting SelectedDateTime property of FXDatePicker control to null value.
- Fixed : Painting of FADatePicker in readonly mode when Readonly property is set fixed.
- Fixed : Problem of setting ForeColor and BackColor in FADatePicker
- Fixed : Certain usage of WinForms control resulted wrong display of Week Of Day in header part of the FAMonthView.
- Fixed : Certain usage of FAMonthView resulted in wrong displaying of date when culture is invariant.

- Added : Methods SetTodayDate and SetEmptyDate added to FXDatePicker and FXMonthView which lets you call the code that represents Today and Empty buttons clicks respectively.
- Added : PersianCultureInfo which is a FA-IR Culture with correct PersianCalendar and DateTimeFormatInfo.
- Added : PersianDateTimeFormatInfo that represents datetime formatting information for FA-IR culture.
- Added : DateTimeExtensions to help convert between PersianDate and DateTime instances via extension methods.
- Added : XmlnsDefinition is added to WPF namespaces. You can reference the controls assembly with namespace.
- Added : Methods to add / remove validation errors on BaseControl.
- Added : PersianDateValueConverter which can be used in WPF applications to convert strings representing DateTime to their PersianDate equivalant.
- Added : WPF Demo to show usage of custom date converters.
- Added : Ability to show and hide Today and Empty buttons on FAMonthView.
- Added : VisualStudio designer for WPF and actions for WinForm controls is added.

- Modified : Localization of WPF controls are using mechanism like WinForm controls (using StringIDs). Redundant .resx files are removed.
- Modified : Merged WinForm and WPF controls into one solution.
- Modified : ValueValidatingEventArgs now passes HasErrors property of the control when raising event.
- Modified : PersianWeekDayNames and PersianMonthNames have became internal. Use PersianDateTimeFormatInfo class instead.
- Modified : When parsing a string representation of PersianDate e.g. 1382/08/23 time part was initialized from system time, but now initialized to 00:00 to be consistent with DateTime behavior.
- Modified : PersianDateConverter is changed access modifier to Internal. You should not use this class, and instead either cast instances of DateTime / PersianDate or use newly provided extension methods.
- Modified : Strings representing DateTime is now parsed using InvariantCulture when parsed to DateTime instance.
- Modified : Static Parse and TryParse method accepting DateTime instance is removed. Use constructor overload instead.
- Modified : "Readonly" property in FAContainerComboBox is made obsolete. Use IsReadonly property.
- Modified : Border color of control in Office2000 and WindowsXP was near white color. Now uses SystemColors.ControlDarkDark value.
- Modified : Created a new base class for FAMonthView, which will be base of other upcoming controls.
- Modified : CurrentMonthName property from FAMonthView is made obsolete. You can use the GetMonthName method on BaseCulturedControl class instead.
- Modified : Arrows of the FAMonthView will gray-out if the control is in disabled state. Change of selected date is not available if the control is disabled.

Notice that “Modified” entries might be breaking your existing code base, but you are encouraged to use this latest version as there were some rather important bugs fixed and some useful features is added.

Like always, get the files from my web sky-drive here.

Submit this story to DotNetKicks Shout it


Novin said...

Any news about Web version of you Calendar & DatePicker controls?

Hadi Eskandari said...

Definetly will be on next version (2.5).

Anonymous said...

Try PersianDate.Parse("1388/02/30")
Or PersianDate.Parse("1388/02/30")
Or PersianDate.Parse("1388/4/31")
Or PersianDate.Parse("1388/6/31")
and have fun with the results!!!

Anonymous said...

and please provide .Net 2.0 version of library too, so .Net 2.0 users can use core features of your library.

Hadi Eskandari said...

The problem was the wrong culture info being used to parse strings into dates. I've fixed it in trunk so it will be fixed in next releases. The Parse method was only used when you try typing directly in FADatePicker so has no effect on other parts such as internal calculations and date display.

newgoldenman said...

Hi mr eskandari.
please add this to next version too:
"Ability to show and hide Today and Empty buttons on FADateTimePicker."

thank you.

newgoldenman said...

Salam aghaye eskandari. ahvale shoma?
valla man khodamo koshtam, natoonestam in moshkelamo hal konam!

man tooye formam faghat az "faDatePicker" estefade mikonam! tooye "program.cs" , toonestam ba komake in 2 khat code:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("fa-ir");
Thread.CurrentThread.CurrentCulture = new CultureInfo("fa-ir");

saal va maah ro be sorate farsi dashte basham. vali har kari mikonam, nemitoonam anavin e rooz haye hafte raa az anavine latin, be farsi : (ش،ی،د،س،چ،پ،ج) taghir bedam.
in ham ax:

kheili kheili az shoma mamnoonam babate in component e ziba , mofid, va karbordi.

newgoldenman said...

Salam hadi jan. javabe mano bede plz. karam gire jedddan! merC

Hadi Eskandari said...

please send your inquiries to my mail address at h dot eskandari at gmail dot com.

newgoldenman said...

Hello to you, Mr Eskandari. I've sent you Email at h dot eskandari at gmail dot com. Thank you very much to solve my problem.

newgoldenman said...

dear hadi, ive sent you my question into your email. please see my question and answer it. its highly emergency to have solve my question as soon as possible.

thank you so much