Browse Source

ENH: remove fltk dialog as it is no longer supported

Bill Hoffman 23 years ago
parent
commit
49bcc1ad51

+ 1 - 1
CMakeLists.txt

@@ -29,6 +29,6 @@ SET(EXECUTABLE_OUTPUT_PATH ${CMake_BINARY_DIR}/Source CACHE PATH
   "Where to put the executables for CMake"
 )
 
-INCLUDE_REGULAR_EXPRESSION("^(\\.\\./)?(cm|FLTK|CMake|form).*")
+INCLUDE_REGULAR_EXPRESSION("^(\\.\\./)?(cm|CMake|form).*")
 
 

+ 0 - 10
Source/CMakeLists.txt

@@ -1,13 +1,3 @@
-INCLUDE (${CMake_SOURCE_DIR}/Modules/FindFLTK.cmake)
-IF(FLTK_LIBRARY)
-  IF(FLTK_INCLUDE_PATH)
-    OPTION(BUILD_FLTK_GUI "Build FLTK CMake GUI." "OFF")
-    IF(BUILD_FLTK_GUI)
-      SUBDIRS(FLTKDialog)
-    ENDIF(BUILD_FLTK_GUI)
-  ENDIF(FLTK_INCLUDE_PATH)
-ENDIF(FLTK_LIBRARY)
-
 SOURCE_FILES(SRCS
 cmake.cxx
 cmakewizard.cxx

+ 0 - 38
Source/FLTKDialog/CMakeLists.txt

@@ -1,38 +0,0 @@
-SOURCE_FILES(SRCS
-CMakeSetupGUIImplementation.cxx
-FLTKDialog.cxx
-FLTKPropertyItemRow.cxx
-FLTKPropertyList.cxx
-)
-
-SOURCE_FILES(FLTK_GUI_Files_SRCS
-CMakeSetupGUI.fl
-)
-
-
-LINK_LIBRARIES(${FLTK_LIBRARY})
-IF(WIN32)
- IF(NOT UNIX)
-   LINK_LIBRARIES(wsock32)
- ENDIF(NOT UNIX)
-ENDIF(WIN32)
-
-
-IF(UNIX)
-  INCLUDE (${CMAKE_ROOT}/Modules/FindOpenGL.cmake)
-  LINK_LIBRARIES(${OPENGL_LIBRARY})
-ENDIF(UNIX)
-
-INCLUDE_DIRECTORIES(${FLTK_INCLUDE_PATH})
-
-
-ADD_EXECUTABLE(CMakeSetup SRCS)
-FLTK_WRAP_UI(CMakeSetup FLTK_GUI_Files_SRCS)
-
-INSTALL_TARGETS (/bin CMakeSetup)
-
-IF(CMAKE_HAS_X)
-LINK_LIBRARIES(-lXt -lm)
-LINK_LIBRARIES(${CMAKE_X_LIBS})
-ADD_DEFINITIONS(${CMAKE_X_CFLAGS})
-ENDIF(CMAKE_HAS_X)

+ 0 - 116
Source/FLTKDialog/CMakeSetupGUI.fl

@@ -1,116 +0,0 @@
-# data file for the Fltk User Interface Designer (fluid)
-version 1.0009 
-header_name {.h} 
-code_name {.cxx} 
-gridx 5 
-gridy 5 
-snap 3
-class CMakeSetupGUI {open
-} {
-  Function {CMakeSetupGUI()} {open
-  } {
-    Fl_Window dialogWindow {
-      label CMakeSetupDialog
-      callback {recentSourceDirectoriesBrowser->hide();
-recentBinaryDirectoriesBrowser->hide();}
-      xywh {646 144 562 373} resizable visible
-    } {
-      Fl_Input sourcePathTextInput {
-        label {Where is the source code: }
-        callback {SetSourcePath( sourcePathTextInput->value() );}
-        xywh {219 15 200 20} labelsize 11 when 8 textsize 11
-      }
-      Fl_Button {} {
-        label {Browse...}
-        callback {BrowseForSourcePath();}
-        xywh {453 14 65 22} shortcut 0x80073 labelsize 11
-      }
-      Fl_Input binaryPathTextInput {
-        label {Where do you want to build the binaries: }
-        callback {SetBinaryPath( binaryPathTextInput->value() );}
-        xywh {219 50 200 20} labelsize 11 when 8 textsize 11
-      }
-      Fl_Button {} {
-        label {Browse...}
-        callback {BrowseForBinaryPath();}
-        xywh {453 49 65 22} shortcut 0x80062 labelsize 11
-      }
-      Fl_Button m_CancelButton {
-        label Cancel
-        callback {ClickOnCancel();}
-        xywh {390 332 100 23} shortcut 0x80071 labelsize 11
-      }
-      Fl_Button m_ConfigureButton {
-        label Configure
-        callback {ClickOnConfigure();}
-        xywh {105 332 100 23} shortcut 0x8006d labelsize 11
-      }
-      Fl_Group {} {
-        xywh {25 80 515 222} box ENGRAVED_BOX labelsize 11 align 0 resizable
-      } {
-        Fl_Scroll cacheValuesScroll {
-          label {Cache Values} open
-          xywh {40 98 485 190} type BOTH_ALWAYS box DOWN_FRAME labelsize 11 align 5 when 1 resizable
-        } {
-          Fl_Pack propertyListPack {
-            xywh {40 99 485 185} resizable
-          } {}
-        }
-      }
-      Fl_Box {} {
-        label {Right click on cache entries for additional options}
-        xywh {160 305 275 25} labelsize 11
-      }
-      Fl_Button {} {
-        label {@\#2>}
-        callback {ShowRecentSourceDirectories();}
-        xywh {420 15 22 21} labeltype SYMBOL_LABEL
-      }
-      Fl_Button {} {
-        label {@\#2>}
-        callback {ShowRecentBinaryDirectories();}
-        xywh {420 50 22 21} labeltype SYMBOL_LABEL
-      }
-      Fl_Browser recentSourceDirectoriesBrowser {
-        callback {SelectOneRecentSourceDirectory();}
-        xywh {15 35 535 115} type Hold box BORDER_BOX hide
-      }
-      Fl_Browser recentBinaryDirectoriesBrowser {
-        callback {SelectOneRecentBinaryDirectory();}
-        xywh {15 70 535 115} type Hold box BORDER_BOX hide
-      }
-      Fl_Button m_OKButton {
-        label OK
-        callback {ClickOnOK();} selected
-        xywh {250 332 100 23} shortcut 0x8006d labelsize 11
-      }
-    }
-  }
-  Function {~CMakeSetupGUI()} {} {}
-  Function {Close(void)} {return_type {virtual void}
-  } {}
-  Function {BrowseForSourcePath(void)} {return_type {virtual void}
-  } {}
-  Function {BrowseForBinaryPath(void)} {return_type {virtual void}
-  } {}
-  Function {Show(void)} {return_type {virtual void}
-  } {}
-  Function {SetBinaryPath(const char *)} {return_type {virtual bool}
-  } {}
-  Function {SetSourcePath(const char *)} {return_type {virtual bool}
-  } {}
-  Function {ShowRecentBinaryDirectories(void)} {return_type {virtual void}
-  } {}
-  Function {ShowRecentSourceDirectories(void)} {return_type {virtual void}
-  } {}
-  Function {SelectOneRecentBinaryDirectory(void)} {return_type {virtual void}
-  } {}
-  Function {SelectOneRecentSourceDirectory(void)} {return_type {virtual void}
-  } {}
-  Function {ClickOnConfigure(void)} {return_type {virtual void}
-  } {}
-  Function {ClickOnOK(void)} {return_type {virtual void}
-  } {}
-  Function {ClickOnCancel(void)} {return_type {virtual void}
-  } {}
-} 

+ 0 - 877
Source/FLTKDialog/CMakeSetupGUIImplementation.cxx

@@ -1,877 +0,0 @@
-/*=========================================================================
-
-  Program:   Insight Segmentation & Registration Toolkit
-  Module:    $RCSfile$
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-  Copyright (c) 2002 Insight Consortium. All rights reserved.
-  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
-
-     This software is distributed WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "CMakeSetupGUIImplementation.h"
-#include "FL/fl_file_chooser.H"
-#include "FL/filename.H"
-#include "FL/fl_ask.H"
-#include "../cmCacheManager.h"
-#include "../cmMakefile.h"
-#include <iostream>
-#include "FLTKPropertyList.h"
-#include "FLTKPropertyItemRow.h"
-#include "FL/fl_draw.H"
-#include "../cmake.h"
-#include "../cmMakefileGenerator.h"
-
-void FLTKMessageCallback(const char* message, const char* title, bool& nomore)
-{
-  std::string msg = message;
-  msg += "\nPress cancel to suppress any further messages.";
-  int choice = fl_choice( msg.c_str(), "Cancel","Ok",0);
-  if(choice==0)
-    {
-    nomore = true;
-    }
-}
-
-/**
- * Constructor
- */
-CMakeSetupGUIImplementation
-::CMakeSetupGUIImplementation():m_CacheEntriesList( this )
-{
-  cmSystemTools::SetErrorCallback(FLTKMessageCallback);
-  m_BuildPathChanged = false;
-}
-
-
-
-/**
- * Destructor
- */
-CMakeSetupGUIImplementation
-::~CMakeSetupGUIImplementation()
-{
-}
-
-
-
-
-/**
- * Show the graphic interface
- */
-void
-CMakeSetupGUIImplementation
-::Show( void )
-{
-  dialogWindow->show();
-}
-
-
-
-
-
-/**
- * Hide the graphic interface
- */
-void
-CMakeSetupGUIImplementation
-::Close( void )
-{
-  SaveRecentDirectories();
-  dialogWindow->hide();
-}
-
-
-
-
-
-/**
- * Browse for the path to the sources
- */
-void
-CMakeSetupGUIImplementation
-::BrowseForSourcePath( void )
-{
-  const char * path = 
-                  fl_file_chooser(
-                    "Path to Sources",
-                    "",
-                    sourcePathTextInput->value() );
-                    
-  if( !path )
-  {
-    return;
-  }
-  
-  SetSourcePath( path );
-
-}
-
-
-
-
-/**
- * Browse for the path to the binaries
- */
-void
-CMakeSetupGUIImplementation
-::BrowseForBinaryPath( void )
-{
-  const char * path = 
-                  fl_file_chooser(
-                    "Path to Binaries",
-                    "",
-                    binaryPathTextInput->value() );
-                    
-  if( !path )
-  {
-    return;
-  }
-
-  SetBinaryPath( path );
-
-}
-
-
-
-
-
-/**
- * Set path to executable. Used to get the path to CMake
- */
-void
-CMakeSetupGUIImplementation
-::SetPathToExecutable( const char * path )
-{
-  
-  char expandedPath[1024];
-  filename_expand( expandedPath, path );
-  
-  char absolutePath[1024];
-  filename_absolute( absolutePath, expandedPath );
-
-  char * p = absolutePath + strlen( absolutePath );
-  while( *p != '/'  && *p != '\\' ) 
-  {
-    p--;
-  }
-  p--;
-  while( *p != '/'  && *p != '\\' ) 
-  {
-    p--;
-  }
-  *p = '\0';
-  
-  m_PathToExecutable = absolutePath;
-
-#if defined(_WIN32)
-  m_PathToExecutable += "/Debug/CMake.exe";
-#else
-  m_PathToExecutable += "/cmake";
-#endif
-
-}
-
-
-
-/**
- * Set the source path
- */
-bool
-CMakeSetupGUIImplementation
-::SetSourcePath( const char * path )
-{
-
-  if( !path || strlen(path)==0 )
-  {
-    fl_alert("Please select the path to the sources");
-    return false; 
-  }
-
-  std::string expandedAbsolutePath = ExpandPathAndMakeItAbsolute( path );
-  
-  sourcePathTextInput->value( expandedAbsolutePath.c_str() );
-    
-  if( VerifySourcePath( expandedAbsolutePath ) )
-  {
-    m_WhereSource = expandedAbsolutePath;
-    return true;
-  }
-
-  return false;
-
-}
-
-
-
-
-/**
- * Expand environment variables in the path and make it absolute
- */
-std::string
-CMakeSetupGUIImplementation
-::ExpandPathAndMakeItAbsolute( const std::string & inputPath ) const
-{
-
-  char expandedPath[3000];
-  filename_expand( expandedPath, inputPath.c_str() );
-
-  char absolutePath[3000];
-  filename_absolute( absolutePath, expandedPath );
-  
-  std::string expandedAbsolutePath = absolutePath;
-
-  return expandedAbsolutePath;
-    
-}
-
-
-/**
- * Set the binary path
- */
-bool
-CMakeSetupGUIImplementation
-::SetBinaryPath( const char * path )
-{
-
-  if( !path || strlen(path)==0 )
-  {
-    fl_alert("Please select the path to the binaries");
-    return false;
-  }
-
-  std::string expandedAbsolutePath = ExpandPathAndMakeItAbsolute( path );
-  
-  binaryPathTextInput->value( expandedAbsolutePath.c_str() );
-
-  if( !VerifyBinaryPath( expandedAbsolutePath.c_str() ) )
-  {
-    return false;
-  }
-
-  if( m_WhereBuild != expandedAbsolutePath )
-  {
-    m_BuildPathChanged  = true;
-    m_WhereBuild        = expandedAbsolutePath;
-    m_CacheEntriesList.RemoveAll(); // remove data from other project
-    this->LoadCacheFromDiskToGUI();
-  }
-  else 
-  {
-    m_BuildPathChanged = false;
-  }
-  
-  return true;
-
-}
-
-
-
-/**
- * Verify the path to binaries
- */
-bool
-CMakeSetupGUIImplementation
-::VerifyBinaryPath( const std::string & path ) const
-{
-
-  bool pathIsOK = false;
-
-  if( filename_isdir( path.c_str() ) )
-  {
-    pathIsOK = true;
-  }
-  else
-  {
-    int userWantsToCreateDirectory = 
-      fl_ask("The directory \n %s \n Doesn't exist. Do you want to create it ?",
-              path.c_str() );
-    
-    if( userWantsToCreateDirectory  )
-    {
-      std::string command = "mkdir ";
-      command += path;
-      system( command.c_str() );
-      pathIsOK = true;
-    }
-    else
-    {
-      pathIsOK = false; 
-    }
-  }
-
-  return pathIsOK;
-
-}
-
-
-
-/**
- * Verify the path to sources
- */
-bool
-CMakeSetupGUIImplementation
-::VerifySourcePath( const std::string & path ) const
-{
-
-  if( !filename_isdir( path.c_str() ) )
-  {
-    fl_alert("The Source directory \n %s \n Doesn't exist or is not a directory", path.c_str() );
-    return false; 
-  }
-
-  return true;
-}
-
-
-
-
-/**
- * Build the project files
- */
-void
-CMakeSetupGUIImplementation
-::RunCMake( bool generateProjectFiles )
-{
-
-  if(!cmSystemTools::FileExists( m_WhereBuild.c_str() ))
-    {
-    std::string message =
-      "Build directory does not exist, should I create it?\n\n"
-      "Directory: ";
-    message += m_WhereBuild;
-    int userWantToCreateDirectory =
-      fl_ask(message.c_str());
-    if( userWantToCreateDirectory )
-      {
-      cmSystemTools::MakeDirectory( m_WhereBuild.c_str() );
-      }
-    else
-      {
-      fl_alert("Build Project aborted, nothing done.");
-      return;
-      }
-    }
-
-  
-  // set the wait cursor
-  fl_cursor(FL_CURSOR_WAIT,FL_BLACK,FL_WHITE);
-
-
-  // save the current GUI values to the cache
-  this->SaveCacheFromGUI();
-
-  // Make sure we are working from the cache on disk
-  this->LoadCacheFromDiskToGUI();
-
-  UpdateListOfRecentDirectories();
-  SaveRecentDirectories();
-
-  // create a cmake object
-  cmake make;
-  // create the arguments for the cmake object
-  std::vector<std::string> args;
-  args.push_back( m_PathToExecutable.c_str() );
-  std::string arg;
-  arg = "-H";
-  arg += m_WhereSource;
-  args.push_back(arg);
-  arg = "-B";
-  arg += m_WhereBuild;
-  args.push_back(arg);
-  arg = "-G";
-  m_GeneratorChoiceString = "Unix Makefiles";
-  arg += m_GeneratorChoiceString;
-  args.push_back(arg);
-  // run the generate process
-  if(make.Generate(args, generateProjectFiles) != 0)
-    {
-    cmSystemTools::Error(
-      "Error in generation process, project files may be invalid");
-    cmSystemTools::ResetErrorOccuredFlag();
-    }
-  // update the GUI with any new values in the caused by the
-  // generation process
-  this->LoadCacheFromDiskToGUI();
-
-  // path is up-to-date now
-  m_BuildPathChanged = false;
-
-
-  // put the cursor back
-  fl_cursor(FL_CURSOR_DEFAULT,FL_BLACK,FL_WHITE);
-  fl_message("Done !");
-
-}
-
-
-
-
-/**
- * Load Cache from disk to GUI
- */
-void
-CMakeSetupGUIImplementation
-::LoadCacheFromDiskToGUI( void )
-{
-  
-    
-  if( m_WhereBuild != "" )
-    {
-    cmCacheManager::GetInstance()->LoadCache( m_WhereBuild.c_str() );
-    this->FillCacheGUIFromCacheManager();
-    }
-}
-   
-
-/**
- * Save Cache from disk to GUI
- */
-void
-CMakeSetupGUIImplementation
-::SaveCacheFromGUI( void )
-{
-  this->FillCacheManagerFromCacheGUI();
-  if( m_WhereBuild != "" )
-  {
-    cmCacheManager::GetInstance()->SaveCache( 
-                                  m_WhereBuild.c_str() );
-  }
-}
-
-
-/**
- * Fill Cache GUI from cache manager
- */
-void
-CMakeSetupGUIImplementation
-::FillCacheGUIFromCacheManager( void )
-{
-  int size = m_CacheEntriesList.GetItems().size();
-  bool reverseOrder = false;
-  // if there are already entries in the cache, then
-  // put the new ones in the top, so they show up first
-  if(size)
-    {
-    reverseOrder = true;
-    }
-
-  // all the current values are not new any more
-  std::set<fltk::PropertyItem*> items = m_CacheEntriesList.GetItems();
-  for(std::set<fltk::PropertyItem*>::iterator i = items.begin();
-      i != items.end(); ++i)
-    {
-    fltk::PropertyItem* item = *i;
-    item->m_NewValue = false;
-    }
-  // Prepare to add rows to the FLTK scroll/pack
-  propertyListPack->clear();
-  propertyListPack->begin();
-
-  const cmCacheManager::CacheEntryMap &cache =
-    cmCacheManager::GetInstance()->GetCacheMap();
-  if(cache.size() == 0)
-    {
-    m_OKButton->deactivate();
-    }
-  else
-    {
-    m_OKButton->activate();
-    }
-
-
-
-  for(cmCacheManager::CacheEntryMap::const_iterator i = cache.begin();
-      i != cache.end(); ++i)
-    {
-    const char* key = i->first.c_str();
-    const cmCacheManager::CacheEntry& value = i->second;
-    
-    switch(value.m_Type )
-      {
-      case cmCacheManager::BOOL:
-        if(cmSystemTools::IsOn(value.m_Value.c_str()))
-          {
-          m_CacheEntriesList.AddProperty(key,
-                                         "ON",
-                                         value.m_HelpString.c_str(),
-                                         fltk::PropertyList::CHECKBOX,"",
-                                         reverseOrder);
-          }
-        else
-          {
-          m_CacheEntriesList.AddProperty(key,
-                                         "OFF",
-                                         value.m_HelpString.c_str(),
-                                         fltk::PropertyList::CHECKBOX,"",
-                                         reverseOrder);
-          }
-        break;
-      case cmCacheManager::PATH:
-        m_CacheEntriesList.AddProperty(key, 
-                                       value.m_Value.c_str(),
-                                       value.m_HelpString.c_str(),
-                                       fltk::PropertyList::PATH,"",
-                                       reverseOrder);
-        break;
-      case cmCacheManager::FILEPATH:
-        m_CacheEntriesList.AddProperty(key, 
-                                       value.m_Value.c_str(),
-                                       value.m_HelpString.c_str(),
-                                       fltk::PropertyList::FILE,"",
-                                       reverseOrder);
-        break;
-      case cmCacheManager::STRING:
-        m_CacheEntriesList.AddProperty(key,
-                                       value.m_Value.c_str(),
-                                       value.m_HelpString.c_str(),
-                                       fltk::PropertyList::EDIT,"",
-                                       reverseOrder);
-        break;
-      case cmCacheManager::INTERNAL:
-      case cmCacheManager::STATIC:
-        // These entries should not be seen by the user
-        m_CacheEntriesList.RemoveProperty(key);
-        break;
-      }
-
-    }
-
-  // Add the old entry to the end of the pack
-  for(std::set<fltk::PropertyItem*>::iterator i = items.begin();
-      i != items.end(); ++i)
-    {
-    fltk::PropertyItem* item = *i;
-    if( !(item->m_NewValue) )
-      {
-      new fltk::PropertyItemRow( item ); // GUI of the old property row
-      }
-    }
-
-  propertyListPack->end();
-  propertyListPack->init_sizes();
-  cacheValuesScroll->position( 0, 0 );
-
-  propertyListPack->redraw();
-
-  Fl::check();
-
-  this->UpdateData(false);
-
-}
-
-
-/**
- * UpdateData
- */
-void
-CMakeSetupGUIImplementation
-::UpdateData( bool option )
-{
-  dialogWindow->redraw();
-  Fl::check();
-}
-
-
-
-/**
- * Fill cache manager from Cache GUI 
- */
-void
-CMakeSetupGUIImplementation
-::FillCacheManagerFromCacheGUI( void )
-{
-  cmCacheManager::GetInstance()->GetCacheMap();
-  std::set<fltk::PropertyItem*> items = m_CacheEntriesList.GetItems();
-  for(std::set<fltk::PropertyItem*>::iterator i = items.begin();
-      i != items.end(); ++i)
-    {
-      fltk::PropertyItem* item = *i; 
-      cmCacheManager::CacheEntry *entry = 
-        cmCacheManager::GetInstance()->GetCacheEntry(
-          (const char*)item->m_propName.c_str() );
-      if (entry)
-        {
-        entry->m_Value = item->m_curValue;
-        }
-      if( item->m_Dirty )
-        {
-        m_CacheEntriesList.SetDirty();
-        }
-    }
-}
-
-
-
-
-/**
- * Load Recent Directories
- */
-void
-CMakeSetupGUIImplementation
-::LoadRecentDirectories( void )
-{
-  std::string home = getenv("HOME");
-  std::string filename = home + "/.cmakerc";
-  
-  std::ifstream input;
-  input.open(filename.c_str());
-  
-  if( input.fail() ) 
-  {
-    // probably the file doesn't exist
-    return;
-  }
-  
-  m_RecentBinaryDirectories.clear();
-  m_RecentSourceDirectories.clear();
-
-  std::string key;
-  std::string onedirectory;
-
-  while( !input.eof() )
-  {
-    input >> key;
-    
-    if( input.eof() ) break;
-
-    if( key == "MostRecentSource" )
-    {
-      input >> onedirectory;
-      m_WhereSource = onedirectory;
-      sourcePathTextInput->value( m_WhereSource.c_str() );
-    } else
-    if( key == "MostRecentBinary" )
-    {
-      input >> onedirectory;
-      m_WhereBuild = onedirectory;
-      binaryPathTextInput->value( m_WhereBuild.c_str() );
-      LoadCacheFromDiskToGUI();
-    } else
-    if( key == "Binary" )
-    {
-      input >> onedirectory;
-      // insert is only done if the directory doesn't exist
-      m_RecentBinaryDirectories.insert( onedirectory );
-      recentBinaryDirectoriesBrowser->add(
-                      (onedirectory.c_str()),
-                      (void*)(onedirectory.c_str()) );
-    } else
-    if( key == "Source" )
-    {
-      input >> onedirectory;
-      // insert is only done if the directory doesn't exist
-      m_RecentSourceDirectories.insert( onedirectory );
-      recentSourceDirectoriesBrowser->add(
-                      (onedirectory.c_str()),
-                      (void*)(onedirectory.c_str()) );
-    }
-
-  }
-
-  input.close();
-}
-
-
-
-/**
- * Save Recent Directories
- */
-void
-CMakeSetupGUIImplementation
-::SaveRecentDirectories( void )
-{
-  std::string home = getenv("HOME");
-
-  if( home.empty() )
-  {
-    return;
-  }
-  
-  std::string filename = home + "/.cmakerc";
-  
-  std::ofstream output;
-  output.open(filename.c_str());
-
-  output << "MostRecentBinary " << m_WhereBuild  << std::endl;
-  output << "MostRecentSource " << m_WhereSource << std::endl;
-
-  // Save Recent binary directories
-  std::set< std::string >::iterator bindir = 
-                m_RecentBinaryDirectories.begin();
-
-  while( bindir != m_RecentBinaryDirectories.end() )
-  {
-    output << "Binary " << *bindir << std::endl;
-    bindir++;
-  }
-
-
-  // Save Recent source directories
-  std::set< std::string >::iterator srcdir = 
-                m_RecentSourceDirectories.begin();
-
-  while( srcdir != m_RecentSourceDirectories.end() )
-  {
-    output << "Source " << *srcdir << std::endl;
-    srcdir++;
-  }
-
-}
-
-
-/**
- * Show Recent Binary Directories
- */
-void
-CMakeSetupGUIImplementation
-::ShowRecentBinaryDirectories( void )
-{
-  if( recentBinaryDirectoriesBrowser->size() )
-    {
-    recentBinaryDirectoriesBrowser->Fl_Widget::show();
-    }
-}
-
-
-/**
- * Show Recent Source Directories
- */
-void
-CMakeSetupGUIImplementation
-::ShowRecentSourceDirectories( void )
-{
-  if( recentSourceDirectoriesBrowser->size() )
-    {
-    recentSourceDirectoriesBrowser->Fl_Widget::show();
-    }
-}
-
-
-/**
- * Select one Recent Binary Directory
- */
-void
-CMakeSetupGUIImplementation
-::SelectOneRecentBinaryDirectory( void )
-{
-  const int selected = recentBinaryDirectoriesBrowser->value();
-  if( selected == 0 )
-  {
-    return;
-  }
-  
-  m_WhereBuild = static_cast<char *>(
-           recentBinaryDirectoriesBrowser->data( selected ));
-  binaryPathTextInput->value( m_WhereBuild.c_str() );
-  recentBinaryDirectoriesBrowser->Fl_Widget::hide();
-  m_CacheEntriesList.RemoveAll(); // remove data from other project
-  LoadCacheFromDiskToGUI();
-}
-
-
-/**
- * Select one Recent Source Directory
- */
-void
-CMakeSetupGUIImplementation
-::SelectOneRecentSourceDirectory( void )
-{
-  const int selected = recentSourceDirectoriesBrowser->value();
-  if( selected == 0 )
-  {
-    return;
-  }
-  m_WhereSource =  static_cast< char * >(
-          recentSourceDirectoriesBrowser->data( selected ));
-  sourcePathTextInput->value( m_WhereSource.c_str() );
-  recentSourceDirectoriesBrowser->Fl_Widget::hide();
-}
-
-
-
-/**
- * Update List of Recent Directories
- */
-void
-CMakeSetupGUIImplementation
-::UpdateListOfRecentDirectories( void )
-{
-
-  // Update Recent binary directories
-  // insert is only done if the directory doesn't exist
-  m_RecentBinaryDirectories.insert( m_WhereBuild );
-  
-  // Update Recent source directories
-  // insert is only done if the directory doesn't exist
-  m_RecentSourceDirectories.insert( m_WhereSource );
-
-}
-
-
-
-
-
-/**
- * Clicked on Configure Button
- */
-void
-CMakeSetupGUIImplementation
-::ClickOnConfigure( void )
-{
-  this->RunCMake(false);
-}
-
-
-
-
-/**
- * Clicked on OK Button
- */
-void
-CMakeSetupGUIImplementation
-::ClickOnOK( void )
-{
-  m_CacheEntriesList.ClearDirty();
-  this->RunCMake(true);
-  cmMakefileGenerator::UnRegisterGenerators();
-  this->Close();
-}
-
-
-
-
-/**
- * Clicked on Cancel Button
- */
-void
-CMakeSetupGUIImplementation
-::ClickOnCancel( void )
-{
-  if(m_CacheEntriesList.IsDirty())
-    {
-    int userWantsExitEvenThoughOptionsHaveChanged = 
-      fl_ask("You have changed options but not rebuilt, \n"
-		  "are you sure you want to exit?");
-    if( userWantsExitEvenThoughOptionsHaveChanged )
-      {
-      this->Close();
-      }
-    }
-  else
-    {
-    this->Close();
-    }
-
-}
-
-
-
-
-

+ 0 - 83
Source/FLTKDialog/CMakeSetupGUIImplementation.h

@@ -1,83 +0,0 @@
-/*=========================================================================
-
-  Program:   Insight Segmentation & Registration Toolkit
-  Module:    $RCSfile$
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-  Copyright (c) 2002 Insight Consortium. All rights reserved.
-  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
-
-     This software is distributed WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#ifndef CMakeSetupGUIImplementation_h
-#define CMakeSetupGUIImplementation_h
-
-#include "CMakeSetupGUI.h"
-#include "FLTKPropertyList.h"
-#include <set>
-
-
-/**
- *
- *  This class implements the virtual methods 
- *  declared in the GUI interface
- *
- */
-   
-class CMakeSetupGUIImplementation : public CMakeSetupGUI 
-{
-
-public:
-
-  CMakeSetupGUIImplementation();
-  virtual ~CMakeSetupGUIImplementation();
-  virtual void Close( void );
-  virtual void Show( void );
-  virtual void UpdateData( bool option );
-  virtual void BrowseForBinaryPath( void );
-  virtual void BrowseForSourcePath( void );
-  virtual bool SetBinaryPath( const char * path );
-  virtual bool SetSourcePath( const char * path );
-  virtual void SaveCacheFromGUI( void );
-  virtual void LoadCacheFromDiskToGUI( void );
-  virtual void FillCacheGUIFromCacheManager( void );
-  virtual void FillCacheManagerFromCacheGUI( void );
-	virtual void SetPathToExecutable( const char * path );
-  virtual void LoadRecentDirectories(void);
-  virtual void SaveRecentDirectories(void);
-  virtual void ShowRecentBinaryDirectories(void);
-  virtual void ShowRecentSourceDirectories(void);
-  virtual void SelectOneRecentSourceDirectory(void);
-  virtual void SelectOneRecentBinaryDirectory(void);
-  virtual void UpdateListOfRecentDirectories(void);
-  virtual void ClickOnConfigure(void);
-  virtual void ClickOnOK(void);
-  virtual void ClickOnCancel(void);
-  virtual void RunCMake( bool generateProjectFiles );
-
-private:  
-  virtual bool VerifyBinaryPath( const std::string & path ) const;
-  virtual bool VerifySourcePath( const std::string & path ) const;
-  virtual std::string ExpandPathAndMakeItAbsolute( const std::string & inputPath ) const;
-
-private:
-  fltk::PropertyList   m_CacheEntriesList;
-  std::string          m_WhereBuild;
-  std::string          m_WhereSource;
-  std::string          m_PathToExecutable;
-  std::string	         m_GeneratorChoiceString;
-  bool                 m_BuildPathChanged;
-  
-  std::set< std::string > m_RecentBinaryDirectories;
-  std::set< std::string > m_RecentSourceDirectories;
-
-};
-
-
-#endif

+ 0 - 41
Source/FLTKDialog/FLTKDialog.cxx

@@ -1,41 +0,0 @@
-/*=========================================================================
-
-  Program:   Insight Segmentation & Registration Toolkit
-  Module:    $RCSfile$
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-  Copyright (c) 2002 Insight Consortium. All rights reserved.
-  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
-
-     This software is distributed WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "CMakeSetupGUIImplementation.h"
-#include "FL/Fl.H"
-#include "FL/fl_ask.H"
-
-int main(int argc, char * argv[] ) 
-{
-
-  fl_message_font(FL_HELVETICA,11);
-
-  CMakeSetupGUIImplementation * gui 
-       = new CMakeSetupGUIImplementation;
-
-  gui->SetPathToExecutable( argv[0] );
-  gui->Show();
-  gui->LoadRecentDirectories();
-  gui->LoadCacheFromDiskToGUI();
-
-  Fl::run();
-
-  delete gui;
-  
-  return 0;
-  
-}

+ 0 - 116
Source/FLTKDialog/FLTKDialog.dsp

@@ -1,116 +0,0 @@
-# Microsoft Developer Studio Project File - Name="FLTKDialog" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=FLTKDialog - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "FLTKDialog.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "FLTKDialog.mak" CFG="FLTKDialog - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "FLTKDialog - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "FLTKDialog - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "FLTKDialog - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "H:/usr/local/fltk" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 fltk.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "FLTKDialog - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "FLTKDialog___Win32_Debug"
-# PROP BASE Intermediate_Dir "FLTKDialog___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "FLTKDialog___Win32_Debug"
-# PROP Intermediate_Dir "FLTKDialog___Win32_Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ  /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "H:/usr/local/fltk" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ  /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 fltk.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"H:/usr/local/fltk/lib/Debug"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "FLTKDialog - Win32 Release"
-# Name "FLTKDialog - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\CMakeSetupGUI.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CMakeSetupGUIImplementation.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\FLTKDialog.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\CMakeSetupGUI.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CMakeSetupGUIImplementation.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project

+ 0 - 386
Source/FLTKDialog/FLTKPropertyItemRow.cxx

@@ -1,386 +0,0 @@
-/*=========================================================================
-
-  Program:   Insight Segmentation & Registration Toolkit
-  Module:    $RCSfile$
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-  Copyright (c) 2002 Insight Consortium. All rights reserved.
-  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
-
-     This software is distributed WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-#include "FLTKPropertyItemRow.h"
-#include <FL/Fl.H>
-#include <FL/Fl_Window.H>
-#include <FL/Fl_Button.H>
-#include <FL/Fl_Box.H>
-#include <FL/Fl_Input.H>
-#include <FL/Fl_Tile.H>
-#include <FL/fl_ask.H>
-#include <FL/fl_file_chooser.H>
-#include <FL/Fl_Color_Chooser.H>
-#include <FL/Fl_Menu_Button.H>
-#include "../cmCacheManager.h"
-#include "FLTKPropertyList.h"
-#include "CMakeSetupGUIImplementation.h"
-#include <stdio.h>
-
-
-namespace fltk {
-
-
-
-CMakeSetupGUIImplementation * PropertyItemRow::m_CMakeSetup = 0;
-
-
-
-
-PropertyItemRow
-::PropertyItemRow( PropertyItem * pItem ):Fl_Tile(0,0,10,10,"")
-{
-   
-  m_PropertyItem =     pItem;
-  m_ItemValue    =     new ItemValue;
-
-  const unsigned int fontsize     =         11;
-  const unsigned int nameWidth    =        200;
-  const unsigned int textWidth    =       1400;
-  const unsigned int checkWidth   =  textWidth;
-  const unsigned int browseWidth  =         20;
-  const unsigned int firstColumn  =          0;
-
-  const unsigned int secondColumn =  nameWidth;
-
-  const unsigned int rowHeight    =         20;
- 
-  size( nameWidth + textWidth , rowHeight );
-
-  // Make the parent Fl_Pack widget at least a row wide.
-  parent()->size( nameWidth + textWidth , rowHeight );
-
-  m_NameButton = new 
-          Fl_Button( firstColumn, 0, nameWidth, rowHeight, 
-                                    m_PropertyItem->m_propName.c_str() );
-
-  m_NameButton->align( FL_ALIGN_CLIP | FL_ALIGN_LEFT | FL_ALIGN_INSIDE );
-  m_NameButton->labelsize( fontsize );
-  m_NameButton->box( FL_DOWN_BOX );
-  m_NameButton->size( secondColumn, rowHeight );
-  m_NameButton->callback( NameButtonCallback, (void *)m_PropertyItem );
-  if( m_PropertyItem->m_NewValue ) 
-    {
-    m_NameButton->color(FL_RED);
-    }
-    
-  switch( m_PropertyItem->m_nItemType )
-  {
-    case PropertyList::COMBO:
-    {
-      break;
-    }
-    case PropertyList::EDIT: 
-    {
-
-      Fl_Input * input = new 
-                    Fl_Input( secondColumn, 0, textWidth ,rowHeight ,"");
-      input->value( m_PropertyItem->m_curValue.c_str() );
-      input->textsize( fontsize );
-      input->callback( InputTextCallback, (void *)m_PropertyItem );
-      input->when( FL_WHEN_CHANGED );
-
-      break;
-    }
-    case PropertyList::COLOR:
-    {
-      Fl_Button * colorButton = new
-            Fl_Button( secondColumn, 0, textWidth  ,rowHeight ,"");
-      colorButton->labelsize( fontsize );
-      //colorButton->color();
-      colorButton->callback( ColorSelectionCallback, (void *)m_PropertyItem );
-
-      break;
-    }
-    case PropertyList::FILE:
-    {
-
-      Fl_Button * browseButton = new 
-            Fl_Button( secondColumn, 0, browseWidth  ,rowHeight ,"...");
-      browseButton->labelsize( fontsize );
-
-      Fl_Input * input = new 
-                    Fl_Input( secondColumn+browseWidth, 0, textWidth ,rowHeight ,"");
-      input->value( m_PropertyItem->m_curValue.c_str() );
-      input->textsize( fontsize );
-
-      m_ItemValue->m_InputText    = input;
-      m_ItemValue->m_PropertyItem = m_PropertyItem;
-        
-      browseButton->callback( BrowsePathCallback, (void *)m_ItemValue );
-      input->callback( InputTextCallback, m_PropertyItem );
-      input->when( FL_WHEN_CHANGED );
-      
-      break;
-    }
-    case PropertyList::CHECKBOX:
-    {
-      Fl_Button * button = new 
-            Fl_Button( secondColumn, 0, checkWidth  ,rowHeight ,"");
-      button->align( FL_ALIGN_INSIDE | FL_ALIGN_LEFT );
-      button->callback( CheckButtonCallback, (void *)m_PropertyItem );
-
-      if( m_PropertyItem->m_curValue == "ON" ) 
-      {
-        button->label(" ON  ");
-        button->value(1);
-      }
-      else if( m_PropertyItem->m_curValue == "OFF" )
-      {
-        button->label(" OFF ");
-        button->value(0);
-      }
-      button->type( FL_TOGGLE_BUTTON );
-      button->labelsize( fontsize );
-      break;
-    }
-    case PropertyList::PATH:
-    {
-
-      Fl_Button * browseButton = new 
-            Fl_Button( secondColumn, 0, browseWidth  ,rowHeight ,"...");
-      browseButton->labelsize( fontsize );
-
-      Fl_Input * input = new 
-                    Fl_Input( secondColumn+browseWidth, 0, textWidth ,rowHeight ,"");
-      input->value( m_PropertyItem->m_curValue.c_str() );
-      input->textsize( fontsize );
-
-      m_ItemValue->m_InputText    = input;
-      m_ItemValue->m_PropertyItem = m_PropertyItem;
-        
-      browseButton->callback( BrowsePathCallback, (void *)m_ItemValue );
-      input->callback( InputTextCallback, (void *)m_PropertyItem );
-      input->when( FL_WHEN_CHANGED );
-      
-      break;
-    }
-    break;
-  default:
-    fl_alert("Unkown item type %d",m_PropertyItem->m_nItemType);
-    break;
-  }
-
-
-  end(); // Close the inclusion of widgets in the Tile object
-
-}
-
-
-
-
-
-PropertyItemRow::~PropertyItemRow( )
-{
-  delete m_ItemValue;
-}
-
-
-
-void PropertyItemRow
-::SetCMakeSetupGUI( CMakeSetupGUIImplementation * cmakeSetup )
-{
-  m_CMakeSetup   =     cmakeSetup;
-}
-
-
-  
-void 
-PropertyItemRow::
-NameButtonCallback( Fl_Widget * widget, void * data) 
-{
-  Fl_Button    * button = (Fl_Button *)widget;
-  PropertyItem * pItem  = (PropertyItem *)data;
-  
-  static Fl_Menu_Button * popupMenu = 0;
-  if( !popupMenu )
-  {
-    int lastMousePositionX = Fl::event_x();
-    int lastMousePositionY = Fl::event_y();
-    popupMenu = new Fl_Menu_Button(lastMousePositionX,
-                                   lastMousePositionY,100,200);
-  }
-  
-  popupMenu->type( Fl_Menu_Button::POPUP3 );
-  popupMenu->add("Help|Remove|Properties...");
-  popupMenu->popup();
- 
-  typedef enum {
-    HELP=0,
-    REMOVE,
-    PROPERTIES
-  } MenuOptions;
-    
-  
-  switch( popupMenu->value() )
-  {
-    case HELP:
-      fl_message( pItem->m_HelpString.c_str() );
-      break;
-    case REMOVE: // Remove
-    {
-      const char * propertyName = pItem->m_propName.c_str();
-      int answer = fl_ask( "Do you want to remove property %s", propertyName );
-      if( answer == 1 )
-      {
-        // Remove the entry from the cache
-        cmCacheManager::GetInstance()->RemoveCacheEntry( propertyName );
-        // Get the parent: Fl_Tile that manages the whole row in the GUI
-        Fl_Group * parentGroup      = dynamic_cast<Fl_Group *>(button->parent());
-        // Get the grandParent: Fl_Pack with the property list
-        Fl_Group * grandParentGroup = dynamic_cast<Fl_Group *>( parentGroup->parent() );
-        // Remove the row from the list
-        grandParentGroup->remove( *parentGroup );
-        // Destroy the row
-        delete parentGroup;  // Patricide... ?
-        // Redraw the list
-        grandParentGroup->redraw();
-        FillCacheManagerFromCacheGUI();        
-        return;
-      }
-      break;
-    }
-    case PROPERTIES: // Properties
-      break;
-  }
-}
-  
-
-
-void
-PropertyItemRow::
-FillCacheManagerFromCacheGUI( void )
-{
-  if( m_CMakeSetup )
-  {
-    m_CMakeSetup->FillCacheManagerFromCacheGUI();
-  }
-}
-
-
-
-void 
-PropertyItemRow::
-CheckButtonCallback( Fl_Widget * widget, void * data) 
-{
-  Fl_Button    * button = (Fl_Button *)widget;
-  PropertyItem * pItem  = (PropertyItem *)data;
-  
-  int value = button->value();
-
-  if( value )
-  {
-    button->label(" ON ");
-    pItem->m_curValue = "ON";
-  }
-  else 
-  {
-    button->label(" OFF ");
-    pItem->m_curValue = "OFF";
-  }
-
-  pItem->m_Dirty = true;
-    
-  button->redraw();
-  
-  FillCacheManagerFromCacheGUI();
-
-}
-
-
-
-void 
-PropertyItemRow::
-InputTextCallback(   Fl_Widget * widget, void * data)
-{
-  Fl_Input  * input     = (Fl_Input *)widget;
-  PropertyItem * item   = (PropertyItem *)data;
-  
-  item->m_curValue      = input->value();
-
-  item->m_Dirty = true;
-
-  FillCacheManagerFromCacheGUI();
-
-}
-
-
-
-void 
-PropertyItemRow::
-ColorSelectionCallback(   Fl_Widget * widget, void * data)
-{
-  Fl_Button    * colorButton   = (Fl_Button *)widget;
-  PropertyItem * propertyItem  = (PropertyItem *)data;
-
-  static Fl_Color colorIndex = FL_FREE_COLOR;
-
-  unsigned char red   = 0;
-  unsigned char blue  = 0;
-  unsigned char green = 0;
-  fl_color_chooser("Please pick a color",red,green,blue);
-  char buffer[300];
-  sprintf( buffer,"RGB(%d,%d,%d)", red, green, blue );
-  propertyItem->m_curValue = buffer;
-  Fl::set_color( colorIndex, red, green, blue );
-  colorButton->color( colorIndex );
-  colorIndex = (Fl_Color)( colorIndex + 1 );
-  if( colorIndex == FL_FREE_COLOR + FL_NUM_FREE_COLOR )
-  {
-    fl_alert("Maximum number of free colors used, recycling...");
-    colorIndex = FL_FREE_COLOR;
-  }
-
-  propertyItem->m_Dirty = true;
-
-  colorButton->redraw();
- 
-  FillCacheManagerFromCacheGUI();
-
-}
-
-
-
-
-
-
-void 
-PropertyItemRow::
-BrowsePathCallback(   Fl_Widget * widget, void * data)
-{
-  ItemValue    * itemValue    = (ItemValue *)data;
-  Fl_Input     * inputText    = itemValue->m_InputText;
-  PropertyItem * propertyItem = itemValue->m_PropertyItem;
-
-  const char * newpath = 
-    fl_file_chooser("Select a path","*", inputText->value() );
-  
-  if( newpath ) 
-  {
-    propertyItem->m_curValue = newpath;
-    inputText->value( newpath );
-  }
-
-  propertyItem->m_Dirty = true;
-
-  FillCacheManagerFromCacheGUI();
-
-}
-
-
-
-
-} // end namespace fltk

+ 0 - 83
Source/FLTKDialog/FLTKPropertyItemRow.h

@@ -1,83 +0,0 @@
-/*=========================================================================
-
-  Program:   Insight Segmentation & Registration Toolkit
-  Module:    $RCSfile$
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-  Copyright (c) 2002 Insight Consortium. All rights reserved.
-  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
-
-     This software is distributed WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#ifndef  FLTKPropertyItemRow_h
-#define  FLTKPropertyItemRow_h
-
-#include "FLTKPropertyList.h"
-
-#include <FL/Fl_Tile.H>
-#include <FL/Fl_Input.H>
-#include <FL/Fl_Button.H>
-
-
-class CMakeSetupGUIImplementation;  
-
-
-namespace fltk {
-  
-
-/**
-
-   Class to manage a GUI row corresponding to a property
-  
-  */
-class PropertyItemRow  : public Fl_Tile
-{
-
-  // Helper class for passing data to callbacks
-  struct ItemValue
-  {
-    PropertyItem * m_PropertyItem;
-    Fl_Input     * m_InputText;
-  };
-
- 
-  public:
-
-    PropertyItemRow( PropertyItem *);
-    ~PropertyItemRow();
-
-  private:
-    
-    PropertyItem * m_PropertyItem;
-    ItemValue    * m_ItemValue;
-    Fl_Button    * m_NameButton;
-
-    static CMakeSetupGUIImplementation * m_CMakeSetup;
-
-    static void CheckButtonCallback( Fl_Widget *, void *);
-    static void NameButtonCallback( Fl_Widget *, void *);
-    static void InputTextCallback(   Fl_Widget *, void *);
-    static void BrowsePathCallback(  Fl_Widget *, void *);
-    static void ColorSelectionCallback(   Fl_Widget * widget, void * data);
-
-
-    static void FillCacheManagerFromCacheGUI( void );
-
-  public:
-    
-    static void SetCMakeSetupGUI( CMakeSetupGUIImplementation * );
-};
-
-
-} // end namespace fltk
-
-
-#endif
-
-

+ 0 - 184
Source/FLTKDialog/FLTKPropertyList.cxx

@@ -1,184 +0,0 @@
-/*=========================================================================
-
-  Program:   Insight Segmentation & Registration Toolkit
-  Module:    $RCSfile$
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-  Copyright (c) 2002 Insight Consortium. All rights reserved.
-  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
-
-     This software is distributed WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-// FLTKPropertyList.cxx : implementation file
-//
-
-#include "FLTKPropertyList.h"
-#include "../cmCacheManager.h"
-#include "FLTKPropertyItemRow.h"
-#include "FL/filename.H"
-#include "FL/fl_file_chooser.H"
-#include "FL/Fl_Color_Chooser.H"
-#include "FL/fl_ask.H"
-#include "FL/Fl_Button.H"
-#include "CMakeSetupGUIImplementation.h"
-
-
-namespace fltk {
-
-/////////////////////////////////////////////////////////////////////////////
-// PropertyList
-
-PropertyList::PropertyList( CMakeSetupGUIImplementation * cmakeSetup )
-{
-  m_CMakeSetup = cmakeSetup;
-  PropertyItemRow::SetCMakeSetupGUI( cmakeSetup );
-  m_Dirty = false;
-}
-
-
-
-PropertyList::~PropertyList()
-{
-  for(std::set<PropertyItem*>::iterator i = m_PropertyItems.begin();
-      i != m_PropertyItems.end(); ++i)
-    {
-    delete *i;
-    }
-}
-
-
-
-
-int PropertyList::AddItem( std::string txt)
-{
-  int nIndex =0;
-  return nIndex;
-}
-
-
-
-int PropertyList::AddPropItem(PropertyItem* pItem, bool reverseOrder)
-{
-
-  int nIndex =0; 
-  if(reverseOrder)
-    {
-    nIndex = 0;
-    }
-  else
-    {
-    nIndex = m_PropertyItems.size();
-    }
-
-  new PropertyItemRow( pItem ); // GUI of the new property row
-
-  m_PropertyItems.insert(pItem);
-
-  return nIndex;
-}
-
-
-
-int PropertyList::AddProperty(const char* name,
-                               const char* value,
-                               const char* helpString,
-                               int type,
-                               const char* comboItems,
-                               bool reverseOrder)
-{ 
-
-  PropertyItem* pItem = 0;
-  for(int i =0; i < this->GetCount(); ++i)
-    {
-    PropertyItem* item = this->GetItem(i);
-    if(item->m_propName == name)
-      {
-      pItem = item;
-      if(pItem->m_curValue != value)
-        {
-        pItem->m_curValue = value;
-        pItem->m_HelpString = helpString;
-        Invalidate();
-        }
-      return i;
-      }
-    }
-  // if it is not found, then create a new one
-  if(!pItem)
-    {
-    pItem = new PropertyItem(name, value, helpString, type, comboItems);
-    }
-  return this->AddPropItem(pItem,reverseOrder);
-}
-
-
-void PropertyList::RemoveProperty(const char* name)
-{
-  for(int i =0; i < this->GetCount(); ++i)
-    {
-    PropertyItem* pItem = (PropertyItem*) GetItemDataPtr(i);
-    if(pItem->m_propName == name)
-      {
-      m_PropertyItems.erase(pItem);
-      delete pItem; 
-      return;
-      }
-    }
-}
-
-
-
-void PropertyList::RemoveAll()
-{
-  int c = this->GetCount();
-  for(int i =0; i < c; ++i)
-    {
-    PropertyItem* pItem = (PropertyItem*) GetItemDataPtr(0);
-    cmCacheManager::GetInstance()->RemoveCacheEntry(pItem->m_propName.c_str());
-    m_PropertyItems.erase(pItem);
-    delete pItem;
-    }
-  Invalidate();
-}
-
-
-
-PropertyItem * PropertyList::GetItemDataPtr(int index)
-{
-    std::set<PropertyItem*>::iterator it =  m_PropertyItems.begin();
-    for(int i=0; it != m_PropertyItems.end() && i<index; i++) 
-    {
-      ++it;
-    }
-    return *it;
-}
-
-
-PropertyItem * PropertyList::GetItem(int index)
-{
-    std::set<PropertyItem*>::iterator it =  m_PropertyItems.begin();
-    for(int i=0; it != m_PropertyItems.end() && i<index; i++) 
-    {
-      ++it;
-    }
-    return *it;
-}
-
-void
-PropertyList
-::InvalidateList(void)
-{
-  Invalidate();
-  m_Dirty = true;
-}
-
-
-} // end fltk namespace
-
-
-

+ 0 - 143
Source/FLTKDialog/FLTKPropertyList.h

@@ -1,143 +0,0 @@
-/*=========================================================================
-
-  Program:   Insight Segmentation & Registration Toolkit
-  Module:    $RCSfile$
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-  Copyright (c) 2002 Insight Consortium. All rights reserved.
-  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
-
-     This software is distributed WITHOUT ANY WARRANTY; without even 
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-#ifndef FLTKPROPERTYLIST_H
-#define FLTKPROPERTYLIST_H
-
-#include "../cmStandardIncludes.h"
-#include <string>
-
-
-class CMakeSetupGUIImplementation;  
-
-
-namespace fltk {
-
-
-/////////////////////////////////////////////////////////////////////////////
-//PropertyList Items
-class PropertyItem 
-{
-// Attributes
-public:
-  std::string m_HelpString;
-  std::string m_propName;
-  std::string m_curValue;
-  int m_nItemType;
-  std::string m_cmbItems;
-  bool m_Removed;
-  bool m_NewValue;
-  bool m_Dirty;
-public:
-  PropertyItem( std::string propName, 
-                std::string curValue,
-                std::string helpString,
-                int nItemType, 
-                std::string cmbItems )
-    {
-      m_HelpString  = helpString;
-      m_propName    = propName;
-      m_curValue    = curValue;
-      m_nItemType   = nItemType;
-      m_cmbItems    = cmbItems;
-      m_Removed     = false;
-      m_NewValue    = true;
-      m_Dirty       = false;
-    }
-};
-
-
-
-
-
-/////////////////////////////////////////////////////////////////////////////
-// PropertyList window
-
-class PropertyList 
-{
-// Construction
-public:
-  enum ItemType 
-    {
-      COMBO = 0,
-      EDIT,
-      COLOR,
-      FONT,
-      FILE,
-      CHECKBOX,
-      PATH
-    };
-
-  PropertyList( CMakeSetupGUIImplementation * );
-  
-// Attributes
-public:
-
-// Operations
-public:
-  int AddItem( std::string txt );
-  int AddProperty(const char* name,
-                  const char* value,
-                  const char* helpString,
-                  int type,
-                  const char* comboItems,
-                  bool reverseOrder);
-  void RemoveProperty(const char* name);
-  std::set<PropertyItem*> & GetItems() 
-    {
-      return m_PropertyItems;
-    }
-
-  void InvalidateList(void);
-  void Invalidate(void) 
-  {
-    // fltk redraw();
-  }
-  
-  int GetCount(void) const 
-  {
-    return m_PropertyItems.size();
-  }
-  void OnButton(void);
-  void OnHelp(void);
-  void RemoveAll();
-  PropertyItem* GetItem(int index);
-  PropertyItem* GetItemDataPtr(int m_curSel);
-
-  void ClearDirty(void)    { m_Dirty = false; }
-  void SetDirty(void)      { m_Dirty = true;  }
-  bool IsDirty(void) const { return m_Dirty;  }
-
-// Implementation
-public:
-  virtual ~PropertyList();
-
-protected:
-
-  int AddPropItem(PropertyItem* pItem,bool reverseOrder);
-
-  std::set<PropertyItem*> m_PropertyItems;
-
-  CMakeSetupGUIImplementation * m_CMakeSetup;
-
-  bool            m_Dirty;
-
-};
-
-
-} // end namespace fltk
-
-#endif 

+ 0 - 60
Source/FLTKDialog/Makefile.in

@@ -1,60 +0,0 @@
-srcdir        = @srcdir@
-VPATH         = @srcdir@
-
-FLTK_LIB_DIR     = @FLTK_LIB_DIR@
-FLTK_INCLUDE_DIR = @FLTK_INCLUDE_DIR@
-
-OPENGL_LIB_DIR     = @OPENGL_LIB_DIR@
-OPENGL_INCLUDE_DIR = @OPENGL_INCLUDE_DIR@
-
-CMAKE_CONFIG_DIR = @CMAKE_CONFIG_DIR@
-CXX           = @CXX@
-CXXFLAGS      = -DCMAKE_ROOT_DIR='"@CMAKE_ROOT_DIR@"' @CXXFLAGS@ -I${FLTK_INCLUDE_DIR} -DCMAKE_HAS_AUTOCONF -I${CMAKE_CONFIG_DIR}/Source
-
-LIBS          =  @LIBS@ -lfltk -lGL -L${FLTK_LIB_DIR}  -L${OPENGL_LIB_DIR}
-
-.SUFFIXES: .cxx .java .class
-
-all: CMakeSetupGUI
-
-.cxx.o:
-	${CXX} ${CXXFLAGS} -c $< -o $@
-
-
-OBJS = \
-CMakeSetupGUI.o \
-CMakeSetupGUIImplementation.o \
-FLTKDialog.o \
-FLTKPropertyItemRow.o \
-FLTKPropertyList.o \
-FLTKPropertyNameButtonWithHelp.o \
-../cmCableClassSet.o \
-../cmCacheManager.o \
-../cmCommands.o \
-../cmCustomCommand.o \
-../cmDirectory.o \
-../cmMakeDepend.o \
-../cmMakefile.o \
-../cmMakefileGenerator.o \
-../cmRegularExpression.o \
-../cmSourceFile.o \
-../cmSourceGroup.o \
-../cmSystemTools.o \
-../cmTarget.o \
-../cmUnixMakefileGenerator.o \
-../cmake.o
-
-
-DEPENDS = $(srcdir)/*.h    $(srcdir)/*.fl   ../cmConfigure.h 
-
-CMakeSetupGUI.o : $(DEPENDS)
-CMakeSetupGUIImplementation.o  : $(DEPENDS)
-FLTKDialog.o  : $(DEPENDS)
-FLTKPropertyList.o : $(DEPENDS)
-FLTKPropertyItemRow.o : $(DEPENDS)
-FLTKPropertyNameButtonWithHelp.o : $(DEPENDS)
-
-
-CMakeSetupGUI: ${OBJS}
-	${CXX} ${OBJS} ${CXXFLAGS} ${LIBS} -o CMakeSetupGUI
-