Monday, February 02, 2009

Infragistics UX Pattern Browser (aka Quince) released.

I am proud to announce the first release of Quince, an online repository of the world's most useful and usable UX patterns.

As my first project at IG, I must say it has been an awesome experience being part of the Quince team. Having worked with cutting-edge technologies such as Silverlight 2 and in a extraordinary technical team was both fun and rewarding.

Overall I enjoyed very much building Quince.

Hope you also enjoy it :
http://quince.infragistics.com

PS: One fun hidden feature: if you hold the mouse and shake the Explore By Tag graph, it will redraw it self again.

Thursday, July 31, 2008

Infragistics TabGroupPane Region Adapter for CompositeWPF (Prism) Applications

This is my first contribution (more to come soon) to the WPF world ! A Region Adapter for the Infragistics TabGroupPane* component.

For those not familiar with Composite WPF:
  • A View is a unit that encapsulates a portion of the UI and is kept as decoupled as possible from other parts of the application.
  • A Region is a container that holds Views to be displayed.
  • A Region Adapter adapts a Region to a WPF Control, thus displaying the actual contents of the associated Views.

I started adapting TabGroupPane since it was an immediate need for a prototype I am coding. As the prototype continues evolving, I think I'll be end up adapting other components of xamDockManager and maybe others of Net Advantage for WPF.

*TabGroupPane is a component of xamDockManager - A powerful docking and layout
management control for WPF (http://www.infragistics.com/dotnet/netadvantage/wpf/xamdockmanager.aspx)


Usage

  • Register the TabGroupPane region adapter mapping in the Bootstrapper as shown in the code below:

    protected override RegionAdapterMappings ConfigureRegionAdapterMappings()
    {

    RegionAdapterMappings mappings = base.ConfigureRegionAdapterMappings();

    mappings.RegisterMapping(typeof(TabGroupPane), new TabGroupPaneRegionAdapter());

    return mappings;

    }

  • Add the TabGroupPane to your Shell/View XAML (you have to declare the namespace on the top of the file):

    <igDock:XamDockManager Grid.Row="1" x:Name="dockManager">
    <igDock:SplitPane >
    <igDock:TabGroupPane Name="TabGroupPane1"
    cal:RegionManager.RegionName="{x:Static infrastructure:RegionNames.Editor}"/>
    </igDock:SplitPane>
    <
    /igDock:XamDockManager>

  • To add views, just obtain the region and call the Add method as you do with other regions:

    IRegion editorRegion = RegionManager.Regions[RegionNames.Editor];
    ITabGroupPaneMetadata tabGroupPaneMetadata = new TabGroupPaneMetadata();
    tabGroupPaneMetadata.Header=”Header #1”;

    MyView view = new MyView();

    view
    .SetTabGroupPaneMetadata(tabGroupPaneMetadata);

    editorRegion.Add(
    view);

    editorRegion.Activate(
    view);


    Notice that
    in the preceding code I am also setting the TabGroupPaneMetadata attached property to the view (via Extensions Methods). This attached property is used by the TabGroupPaneRegionAdapter to set the Header property displayed on the associated TabGroupPane item.

Disclaimer
This code is provided "AS IS" with no warranties, and confers no rights.


Download
You can get the TabGroupPaneRegionAdapter by downloading the latest change set of the CompositeWPF Contrib source control.

Tuesday, October 30, 2007

Running Jdeveloper on Vista x64

This is my first blog post regarding Jdeveloper, hope you find it useful.

Although Jdeveloper 10.1.3 isn't officialy certified for 64bits (Vista x64) here is a workaround on how to run it natively under Vista x64. This way Windows Vista Aereo is kept and Jdeveloper runs in 64bits mode.

Create a jdev.bat file under JDEV_HOME\jdev\bin with the following content.
java -Dide.product=oracle.jdeveloper -Dide.splash.screen=splash.gif -Xverify:none -Xmx512M -XX:MaxPermSize=160M -XX:JavaPriority10_To_OSPriority=10 -XX:JavaPriority9_To_OSPriority=9 -Dice.browser.forcegc=false -Dice.pilots.html4.tileOptThreshold=0 -Xbootclasspath/p:../lib/lwawt.jar -Dreserved_filenames=con,aux,prn,lpt1,lpt2,lpt3,lpt4,lpt5,lpt6,lpt7,lpt8,lpt9,com1,com2,com3,com4,com5,com6,com7,com8,com9,conin$,conout$ -DEDITOR_J2SE_VERSION=1.5 -DINSIGHT_OMIT_HIDDEN=true -Doracle.xdkjava.compatibility.version=9.0.4 -Doracle.translated.locales=ja -Dwindows.shell.font.languages=en -Dide.debug.controller.stack=false -Dceditor.java.parse.small=300 -Dceditor.java.parse.large=1500 -Dide.extension.cpmissing.nowarn=true -Dcompiler.vmargs=-mx512m -Doracle.soap.transport.noHTTPClient=true -Djbo.debugoutput=silent -Djbo.showdebugwarningbanner=false -Djava.library.path=C:\Java\jdk\jdk1.5.0_13\bin;..\lib\ext;..\..\lib -Dide.user.dir= -Dide.startingArg0=C:\Oracle\jdevstudio10133\jdev\bin\jdev.exe -Dide.startingArg1=-verbose -Dide.launcherProcessId=4928 -Dide.config_pathname=C:\Oracle\jdevstudio10133\jdev\bin\jdev.conf -Dide.startingcwd=C:\Oracle\jdevstudio10133\jdev\bin -Dide.shell.fileTypeKeyDefined=true -Dide.shell.enableFileTypeAssociation=true -Djava.class.path=..\lib\jdev-loader.jar -Djdev.class.path=..\..\..\classes;..\..\ide\lib\javax-ide.jar;..\..\ide\lib\javatools.jar;..\..\ide\lib\ide.jar;..\..\jlib\jewt4.jar;..\..\jlib\share.jar;..\..\jlib\help4.jar;..\..\jlib\inspect4.jar;..\..\lib\xmlparserv2.jar;..\..\jdbc\lib\orai18n.jar;..\lib\jdev-ep.jar;..\..\jdk\lib\tools.jar;..\..\jdk\lib\dt.jar -Djava.system.class.loader=oracle.ideimpl.IdeClassLoader oracle.ideimpl.Main



Note: Replace C:\Java\jdk\jdk1.5.0_13 with your JDK location and C:\Oracle\jdevstudio10133 with your Jdeveloper location.