You asked and we did it. Latest version of DotNetBar for Windows Forms 8.8 includes Office 2010 Backstage support for the Ribbon control and it works really nice. Setting this up is piece of cake and I will go over that later but for now… Behold, the Backstage:

Here are more Backstage views from RibbonPad sample that we included with DotNetBar:

DotNetBar Backstage support also implements KeyTips for keyboard access that are displayed if you use Alt key to open up the Application Menu:

And you can easily switch between Office 2010 style Backstage Application menu and Office 2007 style Application menu using single property. Click-here to read Knowledge Base article that covers the Ribbon Backstage setup with DotNetBar.

If you have current DotNetBar license download latest release on Customer Only web site. Fully functional trial version is also available. We are full steam on more exciting features that I can’t wait to share with you, but only after they are fully baked :-)

So yeah, this would be official announcement of 8.8 release.

Tagged with:
 

Latest 8.8 release of DotNetBar for Windows Forms includes all new Year view for Scheduling/Calendar control. In this view you can see all calendar days with appointments for whole year. This is what it looks like:

Note the marked dates on calendar. They indicate that there are appointments on those dates. When day is clicked control will automatically take you to the view you specify to see details for that day or you can choose to execute any custom action you wish.

CalendarView.YearViewStartDate and CalendarView.YearViewEndDate will determine the number of months displayed in the calendar. The maximum number of displayable months is currently set to 120. Why 120 you might ask? Why is winter cold? :-)

Month days that have CalendarItems associated with them will, by default, have their date text displayed in Bold.  The background coloring of these items can be set to several different built-in styles (via the CalendarView.YearViewAppointmentLinkStyle property).  Day cells that do not have associated CalendarItems are, by default, displayed in the normal text and background, color and style.

There are two types of day cells displayed in the calendar months – those that have associated CalendarItems (Appointments or CustomCalendarItems), and those that do not.

Day cells that have CalendarItems associated with them will, by default, have their date text displayed in Bold.  The background coloring of these items can be set to several different built-in styles (via the CalendarView.YearViewAppointmentLinkStyle property).

In the above example, cells with associated CalendarItems are being displayed in the blue diagonal gradient with bolded text.  All others, displayed in their normal defaults, signify no associated CalendarItems.

CalendarView.YearViewAppointmentLink – This property establishes how the user interacts with those cells that contain Appointments (or CalendarItems in general).  The possible settings for this property are defined in the eYearViewDayLink enum, and are as follows:  “None”, “Click”, “CtrlClick”, and “DoubleClick”.  You can combine these such that, for instance, a Click or a DoubleClick will cause the link to be activated.   The default is eYearViewDayLink.Click. This can be done like the following:

CalendarView.YearViewAppointmentLink = (eYearViewDayLink.CtrlClick | eYearViewDayLink.DoubleClick);

CalendarView.YearViewNonAppointmentLink – This property establishes how the user interacts with those cells that do not contain Appointments (or CalendarItems in general).  The possible settings for this property are, again, defined in the eYearViewDayLink enum, and may be combined to give the desired interaction.  The default is eYearViewDayLink.DoubleClick.

When a selection link is established (via the means established in the above YearViewApplintmentLink and YearViewNonAppointmentLink properties), you can have any Calendar display view activated by default when the corresponding day cell is selected.  This can be accomplished via the CalendarView.YearViewLinkView property.

The CalendarView.YearViewLinkView property sets which view (None, Day, Week, Month, or TimeLine) is “linked” to the calendar day cell selection. When enabled, clicking (or hitting enter or the Spacebar) on a cell will cause the LinkView to be activated and positioned at the day/time previously selected in the YearView.  The default is eCalendarView.Day.

There are many other very useful customization options and you can find all details in Knowledge Base Schedule control article under “Year View” section.

Schedule control in DotNetBar includes 5 different views for your appointments and each of them can be customized to fit your need. I think this is one of the best Schedule controls available. We are working to make it the best Schedule control in the world and we will not stop until it is. The plot is thickening :-) Stay tuned.

Tagged with:
 

Today we released DotNetBar for WPF 5.8 with Office 2010 Black color scheme:

Now DotNetBar for WPF supports all Office 2010 color schemes: Blue, Silver and Black. Here are couple of other improvements included:

  • Schedule control now provides ability to skip recurring appointment instances using AppointmentRecurrence.SkippedRecurrences collection
  • Schedule control allows working hours to be specified per owner and per specific date
  • Number of other bug fixes

DotNetBar for WPF 5.7 includes 18 controls that help you create professional WPF Applications with ease. You can download latest release from our Customer Only web site now or if you do not own a license give it a try :-) You might like it and we keep on top of any issues so you know we always got your back.

Tagged with:
 

Back in February I posted about the Apple iPad and I concluded that iPad perhaps may replace not only netbook, but also laptop and main machine for many people.

Now, 2 million of iPads have been sold in less than 60 days and I think I may have been close to the mark with observations. Here is what Steve Jobs on The D Conference had to say about tablets and PC’s:

When we were an agrarian nation, all cars were trucks. But as people moved more towards urban centers, people started to get into cars. I think PCs are going to be like trucks. Less people will need them. And this is going to make some people uneasy.

Watch this:

iPad is getting lot of mind-share and there is excitement around it that is much larger than it ever was with Windows based tablet PC’s. Why is that?

I had Tablet PC since 2002 when we added Tablet PC support to DotNetBar and I just have not been impressed. Not back then and not today. The tablet features are bolted on top of mouse/keyboard based operating system and are not forefront of the UI experience. They actually get in your way while you are trying to do something. Who wants to write with pen on screen when typing is faster? Who wants to poke into the small areas of screens with pen when using mouse is easier? It is much easier to not use the pen and use mouse and keyboard instead because UI does not fit the tablet device. That’s why I think the latest crop of Windows 7 based tablets don’t stand a chance. Not much has really changed, it is same old, same old.

As consumer, on one side you have iPad tablet with Operating System that is specifically designed for touch input, which works great and is super responsive. It has such strong focus on touch input that using real keyboard with it, is not such great experience. And you can forget about connecting mouse to it, you simply don’t have a need to do it. I am not saying that as anything bad, but to highlight purpose driven touch design. iPad OS* is also designed to work on low powered processors which are both cheaper and use less energy. iPad costs $499, it is fast and battery lasts 10 hours.

On the other side you have Windows 7 based tablets with Operating System that is not designed for touch input. Arguably, Windows 7 tablet functionality is not that much different from first Windows XP Tablet PC extensions from 2002 and in my opinion it stinks. The Windows Tablets are also at least $200 more expensive than iPad, touch input is awkward and unresponsive, they are not really that fast and battery last only 2-3 hours.

I do not think Windows 7 tablets have appeal. They have not sold well back in 2002 they will not sell well today either.

Bright light on horizon is Windows Phone 7 (almost carbon copy of iPhone OS) which is Silverlight powered OS but I have two concerns with it.

It seems that operating system and core apps are not written in Silverlight, which means that Silverlight is second rate citizen on the platform. That may be big downside. If all system applications are not written in Silverlight it is very significant. Significant in sense that API that system apps are using is not directly what Silverlight apps are using and Silverlight based apps will be slower than native phone apps and that will  provide worse user experience. That can easily sink the whole platform since these are not devices with plenty of processing power. There is nothing worse on touch platform when you touch the screen and it does not register. It is frustrating. On iPhone system apps and third-party apps are all written with Objective-C and use same API’s.

My second concern is that for some reason Microsoft says that WP7 is designed for devices with screen size of 3 inches or less and that there are no plans to put in the tablet. But, that does not make sense to me since whole WP7 user experience is panoramic based i.e. it is displaying part of the bigger canvas, something like looking through the window.

So you swipe and zoom to move around… Why would that not translate to bigger screen is puzzling to me. Just look at image above and it is obvious. I think this might be classic case of misdirection to disguise true intent. I think tablets running Windows 7 Phone OS will happen probably next year. Unless Microsoft wants to protect its cash cow (Windows 7 platform), in which case it will lose again on tablet and phone market.

So in opening round I think it is safe to say that tablet (iPad) that was designed from ground up for touch input won. Apple took risk to start from scratch. They abandoned all existing Mac OS X apps, created something new and it paid off. Windows was trying to have it all. Backwards compatibility to keep all existing apps and OS investment, and have just bolted on some tablet features that were poor fit for the device. Purpose won over a bolt-on.

* There is no separate OS for iPad, rather it is all one iPhone operating system with iPad specific user interface features
 

We just released new DotNetBar for Windows Forms 8.7 with over 30 new features and enhancements. This release includes Office 2010 Black theme, ListView style Tile view for advanced tree control and 11 new column types for DataGridViewX control, including date/time, numeric, progress-bar, slider etc.

Office 2010 black color scheme:

We also added highly requested ListView style Tile view to the advanced tree control. Now you can use it instead of ListView and have all customization richness and stability of our AdvTree control. Here is screen-shot that shows new tile view:

Make sure to check-out updated Tree control sample project which shows how to setup and use new Tile view. Updated sample also shows how to use tile view and data-binding and grouping to create neat data presentation.

Other improvements made in latest release:

  • 11 new DataGridViewX column types. Please see updated DataGridViewX sample project.
  • SuperTabControl Backstage style color scheme improved to look like Office 2010 RTM
  • Schedule control appointment display now supports text-markup and you can also specify the template for the displayed appointment content using Appointment.DisplayTemplate property. Supported template tokens are: [StartTime], [StartDate], [EndTime], [EndDate], [Subject], [Description], [Id], and [Tag]. For example you can set Appointment.DisplayTemplate to:
    Appointment.DisplayTemplate = "<font color="Red">[Subject]</Font><br />[Description]"
  • Calendar/Schedule control AppointmentRecurrence.SkippedRecurrences property added to specify the dates when recurring instances are skipped
  • Calendar/Schedule control now support per-owner work days through Owner.CalendarWorkDays collection
  • Much, much more… Here are detailed Release Notes.

If you have DotNetBar license download latest release on Customer Only web site. Fully functional trial version is also available.

 

Oh, what a way to start Monday. So I was about to check-in some new code but Subversion server was not responding. Sure, I thought maybe it just needs rebooting… Happens now and then. I go into the server room (well it is just a closet) and reboot.

Clickety, clikety, click is not noise you want to hear from hard-disk where source code lives, yet, that’s what I heard. Machine is not booting up either. I pulled it apart took hard-disk out, put it into the USB enclosure to try to get data off just in case, but no luck. It is gone. Just like that… Now, I am thinking, we’ll see how good our backup is.

I knew backup procedure we have is fairly solid, but since I wrote about backup before, I knew that Murphy does not look favorable on those that preach about backup. They get hit the worst, so that was in the back(up) of my mind.

Now we have triple backup for this server. Two of these backups are off-site (Mozy and Syncplicity) and one is on site on Drobo-box. I first reach for Drobo to see is everything there. As you might expect, Murphy left his calling card, one week of backups was missing. Okey, not a big deal, but I wanted it all. I check Syncplicity and everything is there to the last minute and it downloads fairly fast. Whew, that was close. I check Mozy and everything is there too, but you can’t restore nothing from that place, restore speed is like 400 bytes-per-second…

So yesterday was spent re-building the server. It is good exercise, but tedious…

Couple of lessons here, and I’ll test Murphy again by preaching about backup:

  • Automated backup is great, but something needs to monitor whether software that is doing it actually runs and has not crashed. That happened here where Drobo backup was 1 week behind because software crashed and nobody knew. It could have been worse.
  • Online backups are great, BUT nothing beats in house backup. We will be adding another Drobo, this time Drobo FS to have redundant in house backup. We’ll be also actively monitoring whether software that is doing backups is actually running and doing its job.
  • Online backups where you can’t access your files easily is worthless. We’ll be switching from Mozy to DropBox since we are already using DropBox and it is working really nice.

Luckily what could have turned into huge disaster was just minor annoyance. The source server is back up and running with nothing lost. Having real-time backup sync off-site using Syncplicity and DropBox really makes it so you don’t have to sweat when failures happen even if your local backup fails. And failures even multiple ones will happen. This HDD that failed was just 5 years old.

You can really never have enough backup… Stay backedup!

 

Hello Good People,

We just released new DotNetBar for Windows Forms 8.6 with over 45 new features and enhancements. This release includes all new Knob, dial control with 4 visual styles.

Here are screen-shots of two out of 4 styles included with new knob control:

Some of the improvements made in latest release:

  • Schedule control now supports time indicators/markers
  • Schedule control now supports keyboard navigation
  • AdvTree now can format cell Text for display using Cell.TextDisplayFormat property
  • AdvPropertyGrid supports PasswordPropertyTextAttribute
  • Schedule control supports custom appointment colors
  • Much, much more… Here are detailed Release Notes.

Thank you everyone so much for using our controls. We are full speed on new features and new products ;-)

Hello Good People,
We just released new DotNetBar for Windows Forms 8.6 with over 45 new features and enhancements. This release includes all new Knob, dial control with 4 visual styles.

Here are screen-shots of two out of 4 styles included with new knob control:

Tagged with:
 

Code-word: Framework

I’ve seen this countless times. You’ve seen it too. Software architecture from hell. The architecture which only purpose is to satisfy itself. Architecture that tries to solve imaginary problem and address imaginary constraints. Too complex and completely unnecessary.

When programmer does not care or do not understand the problem that software is trying to solve, often he goes off and satisfies his need to do something with outrageous architecture. Laziness to investigate actual problem is cause of this. Imaginary software problems get invented so that they can be solved only by an amazingly complex architecture. Look at me, this is some crazy complex code I written!

Please don’t be that programmer. Software is made to make life easier. It is developed to add value. Yes, sometimes complex architecture is required, but more often than not, complex architecture is written because that is path of least resistance… It appears like glamorous work that shows off your amazing skills when in fact, it is complete waste of time. Yeah, I speak from past experience. Guilty on that count. I guess every single developer is too… It is part of growing up.

So how do you recognize this tendency? As soon as you start talking about need to create “framework” watch out! You need framework as much as dog needs fleas. Framework is code word for “I need something to keep me interested in this project”. Framework is code word for “I have no clue or care about problem this software is trying to solve”. It is path of least resistance since it keeps you in familiar territory: code.

Solutions are often far simpler that we are willing to admit, but they require in-depth understanding of the problem which does not start with code…

 

Today we are releasing DotNetBar for WPF 5.7 with support for Visual Studio 2010. There are also number of other improvements:

  • Schedule control now provides visual indication of current time through CurrentTimeMarkerVisibility property
  • CalendarView tabs visibility can now be controlled using TabStripVisibility property
  • Source code is now in Visual Studio 2010 format
  • Number of other bug fixes

Detailed release notes are also available.

DotNetBar for WPF 5.7 includes 18 controls that help you create professional WPF Applications with ease. You can download latest release from our Customer Only web site now.

As usual, we welcome your suggestions so feel free to contact me. Thank you for using DotNetBar everyone.

 

Today’s DotNetBar for WinForms update, contains improvements to Schedule control that many of you have been asking for. Now you can control time display in Day/Week view. Default view shows the working and non-working hours as specified on CalendarModel.WorkDays.WorkStartTime/WorkEndTime, i.e. you see 24 hours or whole day. Here is image that shows default view, notice that non-working hours have gray background:

But if you set CalendarView.ShowOnlyWorkDayHours=true you will see only working hours displayed on calendar. This image shows that, notice that non-working hours are not visible:

Images on appointments

Latest release also adds easy way to assign images to appointment. On each model Appointment object there are two properties you can use to do so:

  • Appointment.ImageKey – Specifies the key of the image in the ImageList that you assign to CalendarView.Images property.
  • Appointment.ImageAlign – Specifies the alignment of the image inside of appointment.

Here is screen-shot of two appointments with images assigned:

Yellow appointment has default image alignment, which is top-left, and blue appointment has bottom-right image alignment.

Release with these new features is available now.

Tagged with:
 

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

© 2009 Denis Basaric: DevComponents Blog