summaryrefslogtreecommitdiffstats
path: root/Source/FLTKDialog
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2002-03-20 18:16:16 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2002-03-20 18:16:16 (GMT)
commit49bcc1ad51e25b0d7c08a2861b997a9d10cf6379 (patch)
tree5081912d7925b370dd196c9632f3d231ffdf05e6 /Source/FLTKDialog
parent2990c3db571a29a00fc59b5c572d5aa6cbe8d117 (diff)
downloadCMake-49bcc1ad51e25b0d7c08a2861b997a9d10cf6379.zip
CMake-49bcc1ad51e25b0d7c08a2861b997a9d10cf6379.tar.gz
CMake-49bcc1ad51e25b0d7c08a2861b997a9d10cf6379.tar.bz2
ENH: remove fltk dialog as it is no longer supported
Diffstat (limited to 'Source/FLTKDialog')
-rw-r--r--Source/FLTKDialog/CMakeLists.txt38
-rw-r--r--Source/FLTKDialog/CMakeSetupGUI.fl116
-rw-r--r--Source/FLTKDialog/CMakeSetupGUIImplementation.cxx877
-rw-r--r--Source/FLTKDialog/CMakeSetupGUIImplementation.h83
-rw-r--r--Source/FLTKDialog/FLTKDialog.cxx41
-rw-r--r--Source/FLTKDialog/FLTKDialog.dsp116
-rw-r--r--Source/FLTKDialog/FLTKPropertyItemRow.cxx386
-rw-r--r--Source/FLTKDialog/FLTKPropertyItemRow.h83
-rw-r--r--Source/FLTKDialog/FLTKPropertyList.cxx184
-rw-r--r--Source/FLTKDialog/FLTKPropertyList.h143
-rw-r--r--Source/FLTKDialog/Makefile.in60
11 files changed, 0 insertions, 2127 deletions
diff --git a/Source/FLTKDialog/CMakeLists.txt b/Source/FLTKDialog/CMakeLists.txt
deleted file mode 100644
index 65f0dad..0000000
--- a/Source/FLTKDialog/CMakeLists.txt
+++ /dev/null
@@ -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)
diff --git a/Source/FLTKDialog/CMakeSetupGUI.fl b/Source/FLTKDialog/CMakeSetupGUI.fl
deleted file mode 100644
index fedf2aa..0000000
--- a/Source/FLTKDialog/CMakeSetupGUI.fl
+++ /dev/null
@@ -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}
- } {}
-}
diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx b/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx
deleted file mode 100644
index 1fc5995..0000000
--- a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx
+++ /dev/null
@@ -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();
- }
-
-}
-
-
-
-
-
diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.h b/Source/FLTKDialog/CMakeSetupGUIImplementation.h
deleted file mode 100644
index 83fac2f..0000000
--- a/Source/FLTKDialog/CMakeSetupGUIImplementation.h
+++ /dev/null
@@ -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
diff --git a/Source/FLTKDialog/FLTKDialog.cxx b/Source/FLTKDialog/FLTKDialog.cxx
deleted file mode 100644
index dedb2e4..0000000
--- a/Source/FLTKDialog/FLTKDialog.cxx
+++ /dev/null
@@ -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;
-
-}
diff --git a/Source/FLTKDialog/FLTKDialog.dsp b/Source/FLTKDialog/FLTKDialog.dsp
deleted file mode 100644
index d7c608c..0000000
--- a/Source/FLTKDialog/FLTKDialog.dsp
+++ /dev/null
@@ -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
diff --git a/Source/FLTKDialog/FLTKPropertyItemRow.cxx b/Source/FLTKDialog/FLTKPropertyItemRow.cxx
deleted file mode 100644
index b78c563..0000000
--- a/Source/FLTKDialog/FLTKPropertyItemRow.cxx
+++ /dev/null
@@ -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
diff --git a/Source/FLTKDialog/FLTKPropertyItemRow.h b/Source/FLTKDialog/FLTKPropertyItemRow.h
deleted file mode 100644
index 24bac67..0000000
--- a/Source/FLTKDialog/FLTKPropertyItemRow.h
+++ /dev/null
@@ -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
-
-
diff --git a/Source/FLTKDialog/FLTKPropertyList.cxx b/Source/FLTKDialog/FLTKPropertyList.cxx
deleted file mode 100644
index 6913abe..0000000
--- a/Source/FLTKDialog/FLTKPropertyList.cxx
+++ /dev/null
@@ -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
-
-
-
diff --git a/Source/FLTKDialog/FLTKPropertyList.h b/Source/FLTKDialog/FLTKPropertyList.h
deleted file mode 100644
index d69a254..0000000
--- a/Source/FLTKDialog/FLTKPropertyList.h
+++ /dev/null
@@ -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
diff --git a/Source/FLTKDialog/Makefile.in b/Source/FLTKDialog/Makefile.in
deleted file mode 100644
index 8ef6a23..0000000
--- a/Source/FLTKDialog/Makefile.in
+++ /dev/null
@@ -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
-