void DrizzleIntegrationInterface::UpdateInputDataItem( size_type i )
{
   TreeBox::Node* node = GUI->InputData_TreeBox[i];
   if ( node == 0 )
      return;

   const DrizzleIntegrationInstance::DataItem& item = m_instance.p_inputData[i];

   node->SetText( 0, String( i+1 ) );
   node->SetAlignment( 0, TextAlign::Right );

   node->SetIcon( 1, Bitmap( String( item.enabled ? ":/browser/enabled.png" : ":/browser/disabled.png" ) ) );
   node->SetAlignment( 1, TextAlign::Left );

   String fileText;
   if ( GUI->FullPaths_CheckBox.IsChecked() )
      fileText.Append( item.path );
   else
      fileText.Append( File::ExtractNameAndSuffix( item.path ) );

   node->SetText( 2, fileText );
   node->SetAlignment( 2, TextAlign::Left );
   if ( !GUI->FullPaths_CheckBox.IsChecked() )
      node->SetToolTip( 2, item.path );
}
void GradientsMergeMosaicInterface::UpdateTargetImageItem( size_type i )
{
   TreeBox::Node* node = GUI->TargetImages_TreeBox[i];
   if ( node == 0 )
      return;

   const GradientsMergeMosaicInstance::ImageItem& item = instance.targetFrames[i];

   node->SetText( 0, String( i+1 ) );
   node->SetAlignment( 0, TextAlign::Right );

   node->SetIcon( 1, Bitmap( ScaledResource( item.enabled ? ":/icons/enabled.png" : ":/icons/disabled.png" ) ) );
   node->SetAlignment( 1, TextAlign::Left );

   node->SetIcon( 2, Bitmap( ScaledResource( ":/icons/document.png" ) ) );
   if ( GUI->FullPaths_CheckBox.IsChecked() )
      node->SetText( 2, item.path );
   else
   {
      String fileName = File::ExtractName( item.path ) + File::ExtractExtension( item.path );
      node->SetText( 2, fileName );
      node->SetToolTip( 2, item.path );
   }
   node->SetAlignment( 2, TextAlign::Left );
}
void HDRCompositionInterface::UpdateInputImagesItem( size_type i )
{
   TreeBox::Node* node = GUI->InputImages_TreeBox[i];
   if ( node == 0 )
      return;

   const HDRCompositionInstance::ImageItem& item = instance.images[i];

   node->SetText( 0, String( i+1 ) );
   node->SetAlignment( 0, TextAlign::Right );

   node->SetIcon( 1, Bitmap( ScaledResource( item.enabled ? ":/browser/enabled.png" : ":/browser/disabled.png" ) ) );
   node->SetAlignment( 1, TextAlign::Left );

   if ( GUI->FullPaths_CheckBox.IsChecked() )
      node->SetText( 2, item.path );
   else
      node->SetText( 2, File::ExtractNameAndSuffix( item.path ) );
   node->SetToolTip( 2, item.path );
   node->SetAlignment( 2, TextAlign::Left );
}
void MultiViewSelectionDialog::Regenerate()
{
   Views_TreeBox.Clear();

   Array<View> views = View::AllViews();

   bool includeMainViews = !m_allowPreviews || IncludeMainViews_CheckBox.IsChecked();
   bool includePreviews = m_allowPreviews && IncludePreviews_CheckBox.IsChecked();

   for ( Array<View>::const_iterator i = views.Begin(); i != views.End(); ++i )
   {
      bool isPreview = i->IsPreview();
      if ( isPreview ? includePreviews : includeMainViews )
      {
         TreeBox::Node* node = new TreeBox::Node( Views_TreeBox );
         node->SetCheckable();
         node->Uncheck();
         node->SetText( 0, i->FullId() );
      }
   }

   Views_TreeBox.AdjustColumnWidthToContents( 0 );
}