summaryrefslogtreecommitdiff
path: root/soldep
diff options
context:
space:
mode:
authorKohei Yoshida <kyoshida@novell.com>2010-12-13 10:51:14 -0500
committerKohei Yoshida <kyoshida@novell.com>2010-12-13 10:51:14 -0500
commit8e549536914323b270fc341a7321259cf37d5438 (patch)
treea1d633cc6b57b78f720e49eda6d67f4f35f9b5a0 /soldep
parent521da7bbda27d7d6fc0d5c1eb9ea6aac75b56d3c (diff)
Removed soldep module - module no one uses anymore.
Diffstat (limited to 'soldep')
-rw-r--r--soldep/bootstrp/appdef.cxx168
-rw-r--r--soldep/bootstrp/build_list_converter.pl892
-rw-r--r--soldep/bootstrp/hashtbl.cxx514
-rw-r--r--soldep/bootstrp/makefile.mk82
-rw-r--r--soldep/bootstrp/minormk.cxx189
-rw-r--r--soldep/bootstrp/prj.cxx2717
-rw-r--r--soldep/bootstrp/prodmap.cxx519
-rw-r--r--soldep/inc/appdef.hxx164
-rw-r--r--soldep/inc/dtsodcmp.hrc99
-rw-r--r--soldep/inc/minormk.hxx80
-rw-r--r--soldep/inc/prodmap.hxx86
-rw-r--r--soldep/inc/soldep/connctr.hxx87
-rw-r--r--soldep/inc/soldep/depper.hxx211
-rw-r--r--soldep/inc/soldep/depwin.hxx76
-rw-r--r--soldep/inc/soldep/graphwin.hxx56
-rw-r--r--soldep/inc/soldep/hashobj.hxx47
-rw-r--r--soldep/inc/soldep/hashtbl.hxx207
-rw-r--r--soldep/inc/soldep/objwin.hxx160
-rw-r--r--soldep/inc/soldep/prj.hxx476
-rw-r--r--soldep/inc/soldep/sdtresid.hxx54
-rw-r--r--soldep/inc/soldep/soldep.hxx119
-rw-r--r--soldep/inc/soldep/soldlg.hrc79
-rw-r--r--soldep/inc/soldep/soldlg.hxx163
-rw-r--r--soldep/inc/soldep/tbox.hxx105
-rw-r--r--soldep/prj/build.lst5
-rw-r--r--soldep/prj/d.lst38
-rw-r--r--soldep/source/connctr.cxx275
-rw-r--r--soldep/source/depapp.cxx150
-rw-r--r--soldep/source/depapp.hxx111
-rw-r--r--soldep/source/depper.cxx689
-rw-r--r--soldep/source/depwin.cxx167
-rw-r--r--soldep/source/graphwin.cxx80
-rw-r--r--soldep/source/hashobj.cxx40
-rw-r--r--soldep/source/makefile.mk144
-rw-r--r--soldep/source/objwin.cxx823
-rw-r--r--soldep/source/sdtresid.cxx51
-rw-r--r--soldep/source/soldep.cxx1722
-rw-r--r--soldep/source/soldep.icobin10134 -> 0 bytes
-rw-r--r--soldep/source/soldlg.cxx269
-rw-r--r--soldep/source/soldlg.src374
-rw-r--r--soldep/source/tbox.cxx598
-rw-r--r--soldep/util/perl.mk71
42 files changed, 0 insertions, 12957 deletions
diff --git a/soldep/bootstrp/appdef.cxx b/soldep/bootstrp/appdef.cxx
deleted file mode 100644
index 2fca0ace26d8..000000000000
--- a/soldep/bootstrp/appdef.cxx
+++ /dev/null
@@ -1,168 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <appdef.hxx>
-
-const char* GetDefStandList()
-{
- char* pRet;
- char* pEnv = getenv("STAR_STANDLST");
- if ( pEnv )
- {
- int nLen = strlen( pEnv );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, pEnv );
- }
- else
- {
- int nLen = strlen( _DEF_STAND_LIST );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, _DEF_STAND_LIST );
- }
- return pRet;
-}
-
-
-const char* GetIniRoot()
-{
- char* pRet;
- char* pEnv = getenv("STAR_INIROOT");
- if ( pEnv )
- {
- int nLen = strlen( pEnv );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, pEnv );
- }
- else
- {
- int nLen = strlen( _INIROOT );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, _INIROOT );
- }
- return pRet;
-}
-
-const char* GetIniRootOld()
-{
- char* pRet;
- char* pEnv = getenv("STAR_INIROOTOLD");
- if ( pEnv )
- {
- int nLen = strlen( pEnv );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, pEnv );
- }
- else
- {
- int nLen = strlen( _INIROOT_OLD );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, _INIROOT_OLD );
- }
- return pRet;
-}
-
-const char* GetSSolarIni()
-{
- char* pRet;
- char* pEnv = getenv("STAR_SSOLARINI");
- if ( pEnv )
- {
- int nLen = strlen( pEnv );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, pEnv );
- }
- else
- {
- int nLen = strlen( _DEF_SSOLARINI );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, _DEF_SSOLARINI );
- }
- return pRet;
-}
-
-
-const char* GetSSCommon()
-{
- char* pRet;
- char* pEnv = getenv("STAR_SSCOMMON");
- if ( pEnv )
- {
- int nLen = strlen( pEnv );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, pEnv );
- }
- else
- {
- int nLen = strlen( _DEF_SSCOMMON );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, _DEF_SSCOMMON );
- }
- return pRet;
-}
-
-
-const char* GetBServerRoot()
-{
- char* pRet;
- char* pEnv = getenv("STAR_BSERVERROOT");
- if ( pEnv )
- {
- int nLen = strlen( pEnv );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, pEnv );
- }
- else
- {
- int nLen = strlen( B_SERVER_ROOT );
- pRet = ( char *) malloc( nLen + 1 );
- (void) strcpy( pRet, B_SERVER_ROOT );
- }
- return pRet;
-}
-
-const char* GetEnv( const char *pVar )
-{
- char *pRet = getenv( pVar );
- if ( !pRet )
- pRet = "";
- return pRet;
-}
-
-const char* GetEnv( const char *pVar, const char *pDefault )
-{
- char *pRet = getenv( pVar );
- if ( !pRet )
- return pDefault;
- return pRet;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/bootstrp/build_list_converter.pl b/soldep/bootstrp/build_list_converter.pl
deleted file mode 100644
index 3887eca03a12..000000000000
--- a/soldep/bootstrp/build_list_converter.pl
+++ /dev/null
@@ -1,892 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-
-#*****************************************************************************************
-# ASCII parser for the changeover of the current build.lst files to XML files *
-# programmer: Pascal Junck, Sun Microsystems GmbH *
-#*****************************************************************************************
-
-# this is the first step for the changeover of the current 'build.lst' files to the new
-# 'build.xlist'(XML) files
-# before we create the new ones we have to parse all important informations from the old files
-# important parameters are:
-# 1. 'module name'
-# 2. 'module dependency names'
-# 3. 'dependency type'
-# 4. 'job dir'
-# 5. 'depending directories'
-# 6. 'job platform'(only: 'w', 'u', 'm' and 'all')
-# 7. 'job'(only: 'nmake' means 'make')
-# 8. 'build requirements'(here called: 'restrictions')
-
-
-################################# begin of main #######################################
-
-use strict;
-use lib ("/home/vg119683/work/modules");
-
-use XMLBuildListParser;
-
-# get and work with each argument(build.lst files) of the commando line
-# e.g. if the user wants to parse the build.lst file(s):
-# user input (on unix) for all modules : 'perl -w ascii_parser.pl /so/ws/SRC680/src.m42/*/prj/build.lst'
-# user input (on windows) for one module : 'perl -w ascii_parser.pl O:/SRC680/src.m42/[module]/prj/build.lst'
-# get all arguments (build.lst files) of the commando line in this global variable '@buildlist_files'
-my @buildlist_files = @ARGV;
-# global variable for each file name that we want to parse in ASCII
-my $parse_file = "";
-# set the global variable '$debug' (= 1) to see all results on the terminal,
-# else (= 0) it shows nothing of the working output!
-my $debug = 0;
-
-# open the filehandle 'ERROR_LOG' for all errors
-open (ERROR_LOG, ">>ascii_parse.log")
- or die "Error. Open the file <ascii_parse.log> wasn't successful!\n\n";
-
-# reference of the instance of a new object
-my $XMLTree;
-
-foreach (@buildlist_files)
-{
- # get each element (= module) in '$parse_file'
- $parse_file = $_;
-
- # open the filehandle 'PARSE_ASCII' for each module/file that we want to parse
- open (PARSE_ASCII, $parse_file)
- or die "Error. Open the module <$parse_file> wasn't successful!\n\n";
-
- # create a new object
- $XMLTree = XMLBuildListParser->new();
-
- # invoking of the main subroutine
- reading_file();
-
- # is the file name 'build.lst' in the path on the command line?
- # if not, we can not parse and create the new 'build.xlist' file
- if ($parse_file =~ /build(\w+)?\.lst\S*$/)
- {
- my $path = $parse_file;
-
- $path =~ s/build(\w+)?\.lst\S*$/build\.xlist/;
-
- $XMLTree->saveXMLFile($path);
- }
- else
- {
- add_errorlog_no_buildlst_file_found_statement($parse_file);
- }
-
- # close the current $parse_file
- close(PARSE_ASCII);
-
-}
-# after all files were read close the errorlog file
-close(ERROR_LOG);
-
-
-########################### begin of subroutines #####################################
-#
-# global used variable: $parse_file
-#
-########################################################################################
-
-
-########################################################################################
-# sub: reading_file
-# gets: $_ (current file)
-# returns: -
-########################################################################################
-sub reading_file
-{
- # variable for the name of the current module
- my $module_name = "";
-
- # hashes for the infos beginning at the second line of the build.lst files
- my %dir_of_job_platform = ();
- my %dir_of_alias = ();
-
- # control variable for the module dependency line of the file
- # like line 1 of module 'sal' (dependencies means the colon(s)) (SRC680/src.m42)
- # "sa sal : xml2cmp NULL"
- my $module_dependency_line_exists = 0;
- my $module_dependency_line_was_read = 0;
-
- # this line variables are for checking that all lines will be read
- # counts each line
- my $line_number = 0;
- # for the sum of the informative lines (='module dependency line' and 'nmake' lines of the file)
- my $info_line_sum = 0;
- # for the sum of the no-info lines, like:
- # job lines: 'usr1', 'get', ... and comment lines: '# ...' or empty lines
- my $no_info_line_sum = 0;
-
- # read all lines of the file to resolve the first alias
- # with the matching dir to know all aliases and directories
- # at the later second file reading
- while (<PARSE_ASCII>)
- {
- # the variable for each line of a file
- my $line = $_;
-
- # count each line for more exact error descriptions in the log file
- $line_number += 1;
-
- # remember it, if this line exists
- if ( (is_module_dependency_line($line)) && ($module_dependency_line_exists == 0) )
- {
- $module_dependency_line_exists = 1;
-
- # get the name of the current module
- $module_name = get_module_name($line);
- }
-
- # skip all lines, that hasn't the job 'nmake'
- next if (!(is_nmake_line($line)));
-
- # check that the infos (job directory, job platform and alias) exist
- if (my ($job_dir, $job_platform, $alias) = get_alias_resolving_infos($line))
- {
- # prove that it's a valid job_platform
- # and that each first alias and matching job platform exists only once
- check_alias_and_job_platform($job_dir, $job_platform, $alias, \%dir_of_job_platform,
- \%dir_of_alias, $module_name, $line_number);
- }
- else
- {
- chomp;
- add_errorlog_unknown_format_statement($line, $module_name, $line_number);
- next;
- }
- }
- # reset the $line_number, because we count it again
- $line_number = 0;
-
- # read the same file again
- seek (PARSE_ASCII,0,0);
-
- # read each line of the file for all other informations
- # e.g. line 8 of module 'sal'
- # "sa sal\systools\win32\guistdio nmake - n sa_guistdio sa_uwinapi.n NULL"
- # $job_dir $job $job_platform 1.$alias 2.$alias + alias platform
- while (<PARSE_ASCII>)
- {
- # the variable for each line of a file
- my $line = $_;
-
- # count each line to check at the end of the file that all lines were read
- # and for more exact error descriptions in the log file
- $line_number += 1;
-
- # is it a 'nmake' or a 'module dependency' line?
- # if not: print this line to STDOUT,
- # count one to the no-info lines,
- # try to get the information about the module name from this line
- # and skip the line
- if ( (!(is_nmake_line($line))) && (!(is_module_dependency_line($line))) )
- {
- my $no_info_line = show_no_info_line($line, $line_number);
-
- $no_info_line_sum += $no_info_line;
-
- # if no module dependency line exists get the name of the current module from another line
- $module_name = get_module_name($line) if (!($module_name));
-
- # skip the no-info line
- next;
- }
-
- # only if the module dependency line exists and it wasn't read get the infos about it
- if ( ($module_dependency_line_exists) && (!($module_dependency_line_was_read)) )
- {
- ($module_dependency_line_was_read, $info_line_sum) = get_module_dependency_line_infos
- ($line, $module_name, $line_number);
- }
-
- # get all 'nmake' line infos
- my $info_line = get_nmake_line_infos($line, \%dir_of_alias, \%dir_of_job_platform,
- $module_name, $line_number);
-
- # count the info lines;
- $info_line_sum += $info_line;
- }
-
- if ($debug == 1)
- {
- # show the sums of the info and no-info lines
- lines_sums_output($module_name, $line_number, $info_line_sum, $no_info_line_sum);
- }
-}
-
-########################################################################################
-# sub: is_module_dependency_line
-# gets: $line
-# returns: 1 (true) or 0 (false)
-########################################################################################
-sub is_module_dependency_line
-{
- my $line = shift;
-
- # if the module dpendency line exists return 1, otherwise 0
- ($line =~ /^\w+\s+\S+\s+:+\s+/)
- ? return 1
- : return 0;
-}
-
-########################################################################################
-# sub: is_nmake_line
-# gets: $line
-# returns: '1' (true) or '0' (false)
-########################################################################################
-sub is_nmake_line
-{
- my $line = shift;
-
- # these lines are NO nmake lines:
- # 1. a empty line
- # 2. a comment line (perhaps with the job 'nmake')
- # like line 20 of module 'bridges' (SRC680/src.m42)
- # "#br bridges\source\cli_uno nmake - w,vc7 br_cli_uno br_unotypes NULL========= "
- # 3. the module dependency line
- # like line 1 of module 'sal' (dependencies means the colon(s)) (SRC680/src.m42)
- # "sa sal : xml2cmp N ULL"
- # 4. a 'p' job platform line (for OS2)
- # 5. a line with a job, which is not 'nmake'
- ($line =~ (/^[^\s+\#]/) && (!(/\s+:+\s+/)) && (!(/\s+p\s+/)) && (/\bnmake\b/) )
- ? return 1
- : return 0;
-}
-
-########################################################################################
-# sub: get_alias_resolving_infos
-# gets: $line
-# returns: $job_dir, $job_platform, $alias
-########################################################################################
-sub get_alias_resolving_infos
-{
- my $line = shift;
-
- if ($line =~ /^\w+\s+(\S+)\s+\w+\s+\-\s+(\w+)\,?(\w+)?\s+(\S+)\s+/)
- {
- # get the current work directory
- my $temp_job_dir = $1;
-
- my $job_dir = change_job_directory($temp_job_dir);
-
- # get the job platform of the current job
- # if it is a 'n' job platform transform it to 'w'
- # because 'n' can be used now as 'w' (both means windows)
- my $job_platform = $2;
- $job_platform = "w" if($job_platform eq "n");
-
- # get the first alias in each line
- my $alias = $4;
-
- return ($job_dir, $job_platform, $alias);
- }
- return (undef, undef, undef);
-}
-
-########################################################################################
-# sub: change_job_directory
-# gets: $job_dir
-# returns: $changed_job_dir
-########################################################################################
-# we don't need the module name and the first '\' in the current directory
-sub change_job_directory
-{
- my $changed_job_dir = shift;
-
- # ignore the module name
- $changed_job_dir =~ s/^\w+//;
- # change all other '\' against the '/' of the current dir
- $changed_job_dir =~ s/\\/\//g;
-
- # get only a "/" if we are in the root directory
- $changed_job_dir = "/" if ($changed_job_dir eq "");
-
- return $changed_job_dir;
-}
-
-########################################################################################
-# sub: check_alias_and_job_platform
-# gets: $job_dir, $job_platform, $alias, $dir_of_job_platform_ref,
-# $dir_of_alias_ref, $module_name, $line_number
-# returns: -
-########################################################################################
-# get it in the hash only if it is a valid job platform,
-# like 'w', 'u', 'm' and 'n'
-# 'all' is also valid but it doesn't exist in an alias platform(!)
-sub check_alias_and_job_platform
-{
- my ($job_dir, $job_platform, $alias, $dir_of_job_platform_ref,
- $dir_of_alias_ref, $module_name, $line_number) = @_;
-
- # is it a valid job_platform?
- if ($job_platform =~ /(w|u|m|n|all)/)
- {
- # get only the 'w', 'u', 'm' and 'n' based job platforms
- if ($job_platform =~ /[wumn]/)
- {
- # doesn't the key already exist?
- (!(exists $$dir_of_job_platform_ref{$job_platform.$alias}))
- # get the first alias with the matching job platform in the hash
- ? get_alias_and_job_platform($job_platform, $alias, $dir_of_job_platform_ref)
- # this is a line with a redundant alias and job platform
- : add_errorlog_alias_redundancy_statement($module_name, $alias, $job_platform, $line_number);
- }
- if (!(exists $$dir_of_alias_ref{$alias}))
- {
- # get each first alias with the matching job platform
- get_alias_and_matching_directory($dir_of_alias_ref, $alias, $job_dir);
- }
- }
- # it's not a valid job platform
- else
- {
- add_errorlog_invalid_platform_statement($module_name, $job_platform, $line_number);
- }
-}
-
-########################################################################################
-# sub: get_alias_and_job_platform
-# gets: $job_platform, $alias, $dir_of_job_platform_ref
-# returns: -
-########################################################################################
-# get the the job platform and the first alias as a unique key
-# and the job platform as value of the hash
-# it's for checking later that the alias platform is equal to the job platform
-# e.g.: line 6 + 7 of the module 'gtk' (SRC680/src.m42)
-# "gt gtk\pkgconfig nmake - u gt_pkg NULL"
-# "gt gtk\glib nmake - u gt_glib gt_pkg.u NULL"
-# the alias 'gt_pkg' has the directory 'gtk\pkgconfig' (we need only 'pkgconfig')
-# and it has the job platform 'u' - compare it with the alias platform 'gt_pkg.u'
-sub get_alias_and_job_platform
-{
- my ($job_platform, $alias, $dir_of_job_platform_ref) = @_;
-
- # key = 'job platform' and 'first alias' => value = 'job platform'
- $$dir_of_job_platform_ref{$job_platform.$alias} = $job_platform;
-}
-
-########################################################################################
-# sub: get_alias_and_matching_directory
-# gets: $dir_of_alias_ref, $alias, $job_dir
-# returns: -
-########################################################################################
-# fill the hash with the first alias and the matching directory
-# e.g. line 14 of module 'setup2' (SRC680/src.m42)
-# "se setup2\win\source\unloader nmake - w se_wulo se_unotypes NULL"
-# key = 'se_wulo' => value = 'win/source/unloader'
-sub get_alias_and_matching_directory
-{
- my ($dir_of_alias_ref, $alias, $job_dir) = @_;
-
- # key = 'first alias' => value = 'job directory'
- $$dir_of_alias_ref{$alias} = $job_dir;
-}
-
-########################################################################################
-# sub: show_no_info_line
-# gets: $line, $line_number
-# returns: $no_info_line
-########################################################################################
-sub show_no_info_line
-{
- my ($line, $line_number) = @_;
- my $no_info_line += 1;
-
- chomp($line);
-
- print"Ignore line <$line_number>:\n\"$line\"\n\n" if ($debug);
-
- return $no_info_line;
-}
-
-########################################################################################
-# sub: get_module_name
-# gets: $line
-# returns: $module_name
-########################################################################################
-sub get_module_name
-{
- my $line = shift;
- my $module_name = "";
-
- if ($line =~ /^\w+\s+([\w\.\-]+)\\?/)
- {
- $module_name = $1;
- }
-
- # set the 'module name' in the data structure tree
- $XMLTree->setModuleName($module_name);
-
- return $module_name;
-}
-
-########################################################################################
-# sub: get_module_dependency_line_infos
-# gets: $line, $module_name, $line_number
-# returns: $module_dependency_line_was_read, $info_line_sum
-########################################################################################
-# get the informations about the module dependency line
-# like line 1 of module 'sal' (SRC680/src.m42)
-# "sa sal : xml2cmp NULL"
-# $module_name $module_dependency @module_dependency_names
-sub get_module_dependency_line_infos
-{
- my ($line, $module_name, $line_number) = @_;
- my $module_dependency = "";
- my @module_dependency_names = ();
- my %dep_modules_and_products = ();
- my $product = "";
-
- my $module_dependency_line_was_read = 1;
- my $info_line_sum = 1;
-
- if ($debug)
- {
- print"\nline number : <$line_number>\n";
- print"module-name : <$module_name>\n";
- }
-
- # get the dependencies
- if ($line =~ /\s+(:+)\s+/)
- {
- $module_dependency = $1;
- print"module-dependency : <$module_dependency>\n" if ($debug);
-
- # transform the dependency type to the corresponding tag name
- if ($module_dependency eq ":")
- {
- $module_dependency = "md-simple";
- }
- elsif ($module_dependency eq "::")
- {
- $module_dependency = "md-always";
- }
- elsif ($module_dependency eq ":::")
- {
- $module_dependency = "md-force";
- }
- }
-
- # get a list of all depending module names
- if ($line =~ /:+\s+([\S\s]+)\s+NULL/)
- {
- @module_dependency_names = split(/\s+/, $1);
-
- foreach my $module (@module_dependency_names)
- {
- # check whether that there is another product (as "all") of a module
- if ($module =~ /(\S+):+(\S+)/)
- {
- $dep_modules_and_products{$2} = $1;
- }
- else
- {
- $dep_modules_and_products{$module} = "all";
- }
- }
- }
-
- # add the dependency module names, the module dependency type and the product to the data structure
- foreach my $module (sort keys %dep_modules_and_products)
- {
- print"module-dependency-name(s) : key <$module> value <".$dep_modules_and_products{$module}.">\n" if ($debug);
-
- $XMLTree->addModuleDependencies($module, $module_dependency, $dep_modules_and_products{$module});
- }
-
- return ($module_dependency_line_was_read, $info_line_sum);
-}
-
-########################################################################################
-# sub: get_nmake_line_infos
-# gets: $line, \%dir_of_alias, \%dir_of_job_platform, $module_name, $line_number
-# returns: $info_line
-########################################################################################
-# get all infos about the 'nmake' lines
-# e.g. line 8 of module 'sal'
-# "sa sal\systools\win32\guistdio nmake - n sa_guistdio sa_uwinapi.n NULL"
-# $job_dir $job $job_platform 1.$alias 2.$alias + alias platform
-sub get_nmake_line_infos
-{
- my ($line, $dir_of_alias_ref, $dir_of_job_platform_ref, $module_name, $line_number) = @_;
- my $directories_ref = "";
- my $info_line = 0;
-
- # get the infos about the 'nmake' lines
- if ($line =~ /^\w+\s+(\S+)\s+(\w+)\s+\-\s+(\w+)\,?(\S+)?/)
- {
- # get the current working directory
- my $temp_job_dir = $1;
- my $job_dir = change_job_directory($temp_job_dir);
-
- # get the job
- my $job = $2;
- $job = "make" if ($job eq "nmake");
-
- # get the job platform of the current job
- # if it is a 'n' job platform transform it to 'wnt'
- # available values are: 'wnt', 'unx', 'mac' or 'all'
- my $job_platform = $3;
- $job_platform = change_job_platform_name($job_platform);
-
- # get the first alias in each line
- my $restriction = $4;
- my %build_req = ( "$restriction" => "$job_platform") if ($restriction && $job_platform);
-
-
- # get all aliases (but not the first) in an array
- my $aliases_ref = get_aliases($line);
-
- # filter the list of aliases, which has a 'p' job platform
- # and transform a 'n' ending alias platform to a 'w' ending alias platform
- filter_aliases($aliases_ref);
-
- # resolve all aliases (alias[.job platform] => matching directory)
- $directories_ref = resolve_aliases($aliases_ref, $dir_of_alias_ref,
- $dir_of_job_platform_ref, $module_name, $line_number);
-
- # count the informative lines
- $info_line = 1;
-
- $XMLTree->addJob($job_dir, $job, $job_platform, $directories_ref, \%build_req);
-
- # show the infos, that we know about each line
- if ($debug == 1)
- {
- show_line_infos($line_number, $job_dir, $job, $job_platform, $restriction, $aliases_ref, $directories_ref);
- }
- }
- return $info_line;
-}
-
-########################################################################################
-# sub: change_job_platform_name
-# gets: $job_platform
-# returns: $job_platform
-########################################################################################
-sub change_job_platform_name
-{
- my $job_platform = shift;
-
- $job_platform = "wnt" if($job_platform eq "n" || $job_platform eq "w");
- $job_platform = "unx" if($job_platform eq "u");
- $job_platform = "mac" if($job_platform eq "m");
-
- return $job_platform;
-}
-
-########################################################################################
-# sub: get_aliases
-# gets: $_ (current line)
-# returns: \@aliases
-########################################################################################
-# get all aliases of the line in an array
-sub get_aliases
-{
- my $line = shift;
- my @aliases = ();
-
- # get all aliases in an array (but cut out the first alias)
- if ($line =~ /\-\s+[\w+\,]+\s+([\S\s]+)\s+NULL$/)
- {
- print"\nall job aliases : <$1>\n" if ($debug);
-
- @aliases = split /\s+/, $1;
-
- # we don't need the first alias (it stands for the current job directory)
- shift @aliases;
- }
- return \@aliases;
-}
-
-########################################################################################
-# sub: filter_aliases
-# gets: $aliases_ref
-# returns: -
-########################################################################################
-# filter all aliases, because we only need the 'w', 'u' and 'm' job platform based aliases
-sub filter_aliases
-{
- my $aliases_ref = shift;
-
- # get the highest index of the array (number of elements of the array - 1)
- # also works: my $index = scalar(@$aliases_ref)-1;
- my $index = $#{@{$aliases_ref}};
-
- for (; $index >= 0; $index--)
- {
- # filter the 'p' job platform based aliases from '@aliases'
- splice(@$aliases_ref, $index, 1) if ($$aliases_ref[$index] =~ /\.p$/);
-
- # transform a '.n' ending alias platform to '.w' ending alias platform
- if ($$aliases_ref[$index] =~ /\.n$/)
- {
- $$aliases_ref[$index] =~ s/\.n$/\.w/;
- splice(@$aliases_ref, $index, 1, $$aliases_ref[$index]);
- }
- }
-}
-
-########################################################################################
-# sub: resolve_aliases
-# gets: $aliases_ref, $dir_of_alias_ref, $dir_of_job_platform_ref,
-# $module_name, $line_number
-# returns: \@directories
-########################################################################################
-# here we get each alias with the matching job directory
-sub resolve_aliases
-{
- my ($aliases_ref, $dir_of_alias_ref, $dir_of_job_platform_ref, $module_name, $line_number) = @_;
-
- my @directories = ();
- my ($alias_platform, $alias, $temp_alias) = "";
-
- # resolving all directory aliases
- foreach $temp_alias (@$aliases_ref)
- {
- ($alias, $alias_platform) = compare_job_platform_with_alias_platform
- ($temp_alias, $dir_of_job_platform_ref, $module_name, $line_number);
-
- # does the alias exist?
- if (exists $$dir_of_alias_ref{$alias})
- {
- # then get the matching directory in the array
- push (@directories, $$dir_of_alias_ref{$alias});
- }
- else
- {
- add_errorlog_no_directory_of_alias_statement($module_name, $alias, $line_number);
- }
- }
- return \@directories;
-}
-
-########################################################################################
-# sub: compare_job_platform_with_alias_platform
-# gets: $alias, $dir_of_job_platform_ref, $module_name, $line_number
-# returns: $alias
-########################################################################################
-sub compare_job_platform_with_alias_platform
-{
- my ($alias, $dir_of_job_platform_ref, $module_name, $line_number) = @_;
-
- my $alias_platform = "";
-
- # compare the alias platform (with a dot and an ending letter, like "al_alib.u")
- # with the job platform of the line in which this alias was resolved
- if ($alias =~ /\.([wum])$/)
- {
- $alias_platform = $1;
-
- # don't memorize the ending dot and letter
- $alias =~ s/\.\w$//;
-
- # if the value(= job platform) of the hash or the alias platform has no value
- # set it to "no valid value"
- if (!(exists $$dir_of_job_platform_ref{$alias_platform.$alias}))
- {
- $$dir_of_job_platform_ref{$alias_platform.$alias} = "no valid value";
- }
- $alias_platform = "no valid value" if (!($alias_platform));
-
- # are the job platform and the alias platform equal?
- if ($$dir_of_job_platform_ref{$alias_platform.$alias} ne $alias_platform)
- {
- add_errorlog_not_equal_platforms_statement
- ($module_name, $alias, $alias_platform, $dir_of_job_platform_ref, $line_number);
- }
- }
- return ($alias, $alias_platform);
-}
-
-########################################################################################
-# sub: show_line_infos
-# gets: $line_number, $job_dir, $job, $job_platform, $restriction,
-# $aliases_ref, $directories_ref
-# returns: -
-########################################################################################
-# print the infos about each line
-sub show_line_infos
-{
- my ($line_number, $job_dir, $job, $job_platform, $restriction, $aliases_ref, $directories_ref) = @_;
-
- print"line number : <$line_number>\n";
- print"job directory : <$job_dir>\n";
- print"job : <$job>\n";
- print"job platform : <$job_platform>\n" if ($job_platform =~ /(w|u|m|all)/);
- print"restriction : <$restriction>\n" if ($restriction);
- print"alias dependencies : <@$aliases_ref>\n";
- print"directory dependencies : <@$directories_ref>\n\n";
-}
-
-########################################################################################
-# sub: lines_sums_output
-# gets: $module_name, $line_number, $info_line_sum, $no_info_line_sum
-# returns: -
-########################################################################################
-sub lines_sums_output
-{
- # this line variables are for checking that all lines will be read:
- my ($module_name, $line_number, $info_line_sum, $no_info_line_sum) = @_;
- my $lines_sum = 0;
-
- add_errorlog_no_module_name_statement() if (!($module_name));
-
- # were all lines read? and is the checksum okay?
- $lines_sum = $info_line_sum + $no_info_line_sum;
- if ($lines_sum == $line_number)
- {
- print"All $line_number line(s) of module <$module_name> were read and checked!\n\n";
- }
- else
- {
- add_errorlog_different_lines_sums_statement($module_name);
- }
-
- print"module: <$module_name>\n".
- "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n".
- " info line(s) sum = $info_line_sum\n".
- "no-info line(s) sum = $no_info_line_sum\n".
- "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n".
- " total line(s) sum = $line_number\n\n\n";
-}
-
-
-############################ ERROR_LOG subroutines #####################################
-
-
-########################################################################################
-# sub: add_errorlog_invalid_job_platform_statement
-# gets: $module_name, $platform, $line_number
-# returns: -
-########################################################################################
-sub add_errorlog_invalid_job_platform_statement
-{
- my ($module_name, $job_platform, $line_number) = @_;
-
- print ERROR_LOG "Error in module <$module_name> of dir/file <$parse_file> line <$line_number>.\n".
- "The job platform <$job_platform> is not valid.\n\n";
-}
-
-########################################################################################
-# sub: add_errorlog_not_equal_platforms_statement
-# gets: $module_name, $alias, $alias_platform, $dir_of_job_platform_ref, $line_number
-# returns: -
-########################################################################################
-sub add_errorlog_not_equal_platforms_statement
-{
- my ($module_name, $alias, $alias_platform, $dir_of_job_platform_ref, $line_number) = @_;
-
- print ERROR_LOG "Error in module <$module_name> of dir/file <$parse_file> line <$line_number>.\n".
- "The alias platform <$alias.$alias_platform> is not equal ".
- "with the job platform <$$dir_of_job_platform_ref{$alias_platform.$alias}>.\n\n";
-}
-
-########################################################################################
-# sub: add_errorlog_no_directory_of_alias_statement
-# gets: $module_name, $alias, $line_number
-# returns: -
-########################################################################################
-sub add_errorlog_no_directory_of_alias_statement
-{
- my ($module_name, $alias, $line_number) = @_;
-
- print ERROR_LOG "Error in module <$module_name> of dir/file <$parse_file> line <$line_number>.\n".
- "The directory of the alias <$alias> doesn't exist!\n\n";
-}
-
-########################################################################################
-# sub: add_errorlog_no_module_name_statement
-# gets: -
-# returns: -
-########################################################################################
-sub add_errorlog_no_module_name_statement
-{
- print ERROR_LOG "Error. No module name found in dir/file <$parse_file>.\n\n";
-}
-
-########################################################################################
-# sub: add_errorlog_alias_redundancy_statement
-# gets: $module_name, $alias, $job_platform, $line_number
-# returns: -
-########################################################################################
-sub add_errorlog_alias_redundancy_statement
-{
- my ($module_name, $alias, $job_platform, $line_number)= @_;
-
- print ERROR_LOG "Error in module <$module_name> of dir/file <$parse_file> line <$line_number>.\n".
- "The alias <$alias> with the job platform <$job_platform> is redundant.\n\n";
-}
-
-########################################################################################
-# sub: add_errorlog_unknown_format_statement
-# gets: $module_name, $line_number
-# returns: -
-########################################################################################
-sub add_errorlog_unknown_format_statement
-{
- my ($line, $module_name, $line_number) = @_;
-
- print ERROR_LOG "Error in module <$module_name> of dir/file <$parse_file> line <$line_number>.".
- "\nUnknown format:\n\"$line\"\n\n";
-}
-
-########################################################################################
-# sub: add_errorlog_different_lines_sums_statement
-# gets: $module_name
-# returns: -
-########################################################################################
-sub add_errorlog_different_lines_sums_statement
-{
- my $module_name = shift;
-
- print ERROR_LOG "Error in module <$module_name> of dir/file <$parse_file>.\n".
- "The sums of all info and no-info lines are not correct!\n\n";
-}
-
-########################################################################################
-# sub: add_errorlog_no_buildlst_file_found_statement
-# gets: $parse_file
-# returns: -
-########################################################################################
-sub add_errorlog_no_buildlst_file_found_statement
-{
- my $parse_file = shift;
-
- print ERROR_LOG "Error in command line argument <$parse_file>.\n".
- "File 'build.lst' not found!\n";
-}
-
-############################# end of the subroutines ###################################
diff --git a/soldep/bootstrp/hashtbl.cxx b/soldep/bootstrp/hashtbl.cxx
deleted file mode 100644
index 0b329ba28910..000000000000
--- a/soldep/bootstrp/hashtbl.cxx
+++ /dev/null
@@ -1,514 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <tools/gen.hxx>
-#include <tools/debug.hxx>
-#include <soldep/hashtbl.hxx>
-
-// -------------------------------------------------------------
-// class HashItem
-//
-class HashItem
-{
- enum ETag { TAG_EMPTY, TAG_USED, TAG_DELETED };
-
- void* m_pObject;
- ETag m_Tag;
- ByteString m_Key;
-
-public:
- HashItem() { m_Tag = TAG_EMPTY; m_pObject = NULL; }
-
- BOOL IsDeleted() const
- { return m_Tag == TAG_DELETED; }
-
- BOOL IsEmpty() const
- { return m_Tag == TAG_DELETED || m_Tag == TAG_EMPTY; }
-
- BOOL IsFree() const
- { return m_Tag == TAG_EMPTY; }
-
- BOOL IsUsed() const
- { return m_Tag == TAG_USED; }
-
- void Delete()
- { m_Tag = TAG_DELETED; m_Key = ""; m_pObject = NULL; }
-
- ByteString const& GetKey() const
- { return m_Key; }
-
- void* GetObject() const
- { return m_pObject; }
-
- void SetObject(ByteString const Key, void *pObject)
- { m_Tag = TAG_USED; m_Key = Key; m_pObject = pObject; }
-};
-
-#define MIN(a,b) (a)<(b)?(a):(b)
-#define MAX(a,b) (a)>(b)?(a):(b)
-
-// -------------------------------------------------------------
-// class HashTable
-//
-
-/*static*/ double HashTable::m_defMaxLoadFactor = 0.8;
-/*static*/ double HashTable::m_defDefGrowFactor = 2.0;
-
-HashTable::HashTable(ULONG lSize, BOOL bOwner, double dMaxLoadFactor, double dGrowFactor)
-{
- m_lSize = lSize;
- m_bOwner = bOwner;
- m_lElem = 0;
- m_dMaxLoadFactor = MAX(0.5,MIN(1.0,dMaxLoadFactor)); // 0.5 ... 1.0
- m_dGrowFactor = MAX(1.3,MIN(5.0,dGrowFactor)); // 1.3 ... 5.0
- m_pData = new HashItem [lSize];
-
-// Statistik
-#ifdef DBG_UTIL
- m_aStatistic.m_lSingleHash = 0;
- m_aStatistic.m_lDoubleHash = 0;
- m_aStatistic.m_lProbe = 0;
-#endif
-}
-
-HashTable::~HashTable()
-{
- // Wenn die HashTable der Owner der Objecte ist,
- // mssen die Destruktoren separat gerufen werden.
- // Dies geschieht ber die virtuelle Methode OnDeleteObject()
- //
- // Problem: Virtuelle Funktionen sind im Destructor nicht virtuell!!
- // Der Code mu deshalb ins Macro
-
- /*
- if (m_bOwner)
- {
- for (ULONG i=0; i<GetSize(); i++)
- {
- void *pObject = GetObjectAt(i);
-
- if (pObject != NULL)
- OnDeleteObject(pObject());
- }
- }
- */
-
- // Speicher fr HashItems freigeben
- delete [] m_pData;
-}
-
-void* HashTable::GetObjectAt(ULONG lPos) const
-// Gibt Objekt zurck, wenn es eines gibt, sonst NULL;
-{
- DBG_ASSERT(lPos<m_lSize, "HashTable::GetObjectAt()");
-
- HashItem *pItem = &m_pData[lPos];
-
- return pItem->IsUsed() ? pItem->GetObject() : NULL;
-}
-
-void HashTable::OnDeleteObject(void*)
-{
- DBG_ERROR("HashTable::OnDeleteObject(void*) nicht berladen");
-}
-
-ULONG HashTable::Hash(ByteString const& Key) const
-{
- /*
- ULONG lHash = 0;
- ULONG i,n;
-
- for (i=0,n=Key.Len(); i<n; i++)
- {
- lHash *= 256L;
- lHash += (ULONG)(USHORT)Key.GetStr()[i];
- lHash %= m_lSize;
- }
- return lHash;
- */
-
- // Hashfunktion von P.J. Weinberger
- // aus dem "Drachenbuch" von Aho/Sethi/Ullman
- ULONG i,n;
- ULONG h = 0;
- ULONG g = 0;
-
- for (i=0,n=Key.Len(); i<n; i++)
- {
- h = (h<<4) + (ULONG)(USHORT)Key.GetBuffer()[i];
- g = h & 0xf0000000;
-
- if (g != 0)
- {
- h = h ^ (g >> 24);
- h = h ^ g;
- }
- }
-
- return h % m_lSize;
-}
-
-ULONG HashTable::DHash(ByteString const& Key, ULONG lOldHash) const
-{
- ULONG lHash = lOldHash;
- ULONG i,n;
-
- for (i=0,n=Key.Len(); i<n; i++)
- {
- lHash *= 256L;
- lHash += (ULONG)(USHORT)Key.GetBuffer()[i];
- lHash %= m_lSize;
- }
- return lHash;
-
-/* return
- (
- lHash
- + (char)Key.GetStr()[0] * 256
- + (char)Key.GetStr()[Key.Len()-1]
- + 1
- )
- % m_lSize;
-*/
-}
-
-ULONG HashTable::Probe(ULONG lPos) const
-// gibt den Folgewert von lPos zurck
-{
- lPos++; if (lPos==m_lSize) lPos=0;
- return lPos;
-}
-
-BOOL HashTable::IsFull() const
-{
- return m_lElem>=m_lSize;
-}
-
-BOOL HashTable::Insert(ByteString const& Key, void* pObject)
-// pre: Key ist nicht im Dictionary enthalten, sonst return FALSE
-// Dictionary ist nicht voll, sonst return FALSE
-// post: pObject ist unter Key im Dictionary; m_nElem wurde erhht
-{
- SmartGrow();
-
- if (IsFull())
- {
- DBG_ERROR("HashTable::Insert() is full");
- return FALSE;
- }
-
- if (FindPos(Key) != NULL )
- return FALSE;
-
- ULONG lPos = Hash(Key);
- HashItem *pItem = &m_pData[lPos];
-
- // first hashing
- //
- if (pItem->IsEmpty())
- {
- pItem->SetObject(Key, pObject);
- m_lElem++;
-
- #ifdef DBG_UTIL
- m_aStatistic.m_lSingleHash++;
- #endif
-
- return TRUE;
- }
-
- // double hashing
- //
- lPos = DHash(Key,lPos);
- pItem = &m_pData[lPos];
-
- if (pItem->IsEmpty())
- {
- pItem->SetObject(Key, pObject);
- m_lElem++;
-
- #ifdef DBG_UTIL
- m_aStatistic.m_lDoubleHash++;
- #endif
-
- return TRUE;
- }
-
- // linear probing
- //
- do
- {
- #ifdef DBG_UTIL
- m_aStatistic.m_lProbe++;
- #endif
-
- lPos = Probe(lPos);
- pItem = &m_pData[lPos];
- }
- while(!pItem->IsEmpty());
-
- pItem->SetObject(Key, pObject);
- m_lElem++;
- return TRUE;
-}
-
-HashItem* HashTable::FindPos(ByteString const& Key) const
-// sucht den Key; gibt Refrenz auf den Eintrag (gefunden)
-// oder NULL (nicht gefunden) zurck
-//
-// pre: -
-// post: -
-{
- // first hashing
- //
- ULONG lPos = Hash(Key);
- HashItem *pItem = &m_pData[lPos];
-
- if (pItem->IsUsed()
- && pItem->GetKey() == Key)
- {
- return pItem;
- }
-
- // double hashing
- //
- if (pItem->IsDeleted() || pItem->IsUsed())
- {
- lPos = DHash(Key,lPos);
- pItem = &m_pData[lPos];
-
- if (pItem->IsUsed()
- && pItem->GetKey() == Key)
- {
- return pItem;
- }
-
- // linear probing
- //
- if (pItem->IsDeleted() || pItem->IsUsed())
- {
- ULONG n = 0;
- BOOL bFound = FALSE;
- BOOL bEnd = FALSE;
-
- do
- {
- n++;
- lPos = Probe(lPos);
- pItem = &m_pData[lPos];
-
- bFound = pItem->IsUsed()
- && pItem->GetKey() == Key;
-
- bEnd = !(n<m_lSize || pItem->IsFree());
- }
- while(!bFound && !bEnd);
-
- return bFound ? pItem : NULL;
- }
- }
-
- // nicht gefunden
- //
- return NULL;
-}
-
-void* HashTable::Find(ByteString const& Key) const
-// Gibt Verweis des Objektes zurck, das unter Key abgespeichert ist,
-// oder NULL wenn nicht vorhanden.
-//
-// pre: -
-// post: -
-{
- HashItem *pItem = FindPos(Key);
-
- if (pItem != NULL
- && pItem->GetKey() == Key)
- return pItem->GetObject();
- else
- return NULL;
-}
-
-void* HashTable::Delete(ByteString const& Key)
-// Lscht Objekt, das unter Key abgespeichert ist und gibt Verweis
-// darauf zurck.
-// Gibt NULL zurck, wenn Key nicht vorhanden ist.
-//
-// pre: -
-// post: Objekt ist nicht mehr enthalten; m_lElem dekrementiert
-// Wenn die HashTable der Owner ist, wurde das Object gelscht
-{
- HashItem *pItem = FindPos(Key);
-
- if (pItem != NULL
- && pItem->GetKey() == Key)
- {
- void* pObject = pItem->GetObject();
-
- if (m_bOwner)
- OnDeleteObject(pObject);
-
- pItem->Delete();
- m_lElem--;
- return pObject;
- }
- else
- {
- return NULL;
- }
-}
-
-double HashTable::CalcLoadFactor() const
-// prozentuale Belegung der Hashtabelle berechnen
-{
- return double(m_lElem) / double(m_lSize);
-}
-
-void HashTable::SmartGrow()
-// Achtung: da die Objekte umkopiert werden, darf die OnDeleteObject-Methode
-// nicht gerufen werden
-{
- double dLoadFactor = CalcLoadFactor();
-
- if (dLoadFactor <= m_dMaxLoadFactor)
- return; // nothing to grow
-
- ULONG lOldSize = m_lSize; // alte Daten sichern
- HashItem* pOldData = m_pData;
-
- m_lSize = ULONG (m_dGrowFactor * m_lSize); // neue Gre
- m_pData = new HashItem[m_lSize]; // neue Daten holen
-
- // kein Speicher:
- // Zustand "Tabelle voll" wird in Insert abgefangen
- //
- if (m_pData == NULL)
- {
- m_lSize = lOldSize;
- m_pData = pOldData;
- return;
- }
-
- m_lElem = 0; // noch keine neuen Daten
-
- // Umkopieren der Daten
- //
- for (ULONG i=0; i<lOldSize; i++)
- {
- HashItem *pItem = &pOldData[i];
-
- if (pItem->IsUsed())
- Insert(pItem->GetKey(),pItem->GetObject());
- }
-
- delete [] pOldData;
-}
-
-// Iterator ---------------------------------------------------------
-//
-
-HashTableIterator::HashTableIterator(HashTable const& aTable)
-: m_aTable(aTable)
-{
- m_lAt = 0;
-}
-
-void* HashTableIterator::GetFirst()
-{
- m_lAt = 0;
- return FindValidObject(TRUE /* forward */);
-}
-
-void* HashTableIterator::GetLast()
-{
- m_lAt = m_aTable.GetSize() -1;
- return FindValidObject(FALSE /* backward */);
-}
-
-void* HashTableIterator::GetNext()
-{
- if (m_lAt+1 >= m_aTable.GetSize())
- return NULL;
-
- m_lAt++;
- return FindValidObject(TRUE /* forward */);
-}
-
-void* HashTableIterator::GetPrev()
-{
- if (m_lAt <= 0)
- return NULL;
-
- m_lAt--;
- return FindValidObject(FALSE /* backward */);
-}
-
-void* HashTableIterator::FindValidObject(BOOL bForward)
-// Sucht nach einem vorhandenen Objekt ab der aktuellen
-// Position.
-//
-// pre: ab inkl. m_lAt soll die Suche beginnen
-// post: if not found then
-// if bForward == TRUE then
-// m_lAt == m_aTable.GetSize() -1
-// else
-// m_lAt == 0
-// else
-// m_lAt ist die gefundene Position
-{
- void *pObject = m_aTable.GetObjectAt(m_lAt);
-
- if (pObject != NULL)
- return pObject;
-
- while (pObject == NULL
- && (bForward ? ((m_lAt+1) < m_aTable.GetSize())
- : m_lAt > 0))
- {
- if (bForward)
- m_lAt++;
- else
- m_lAt--;
-
- pObject = m_aTable.GetObjectAt(m_lAt);
- }
-
-#ifdef DBG_UTIL
-
- if (pObject == NULL)
- {
- DBG_ASSERT(bForward ? m_lAt == m_aTable.GetSize() -1 : m_lAt == 0,
- "HashTableIterator::FindValidObject()");
- }
-
-#endif
-
- return pObject;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/bootstrp/makefile.mk b/soldep/bootstrp/makefile.mk
deleted file mode 100644
index 60b22427d412..000000000000
--- a/soldep/bootstrp/makefile.mk
+++ /dev/null
@@ -1,82 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=soldep
-TARGET=bootstrpdt
-ENABLE_EXCEPTIONS=true
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# fixme, code is not yet 64 bit clean
-.IF "$(OS)$(CPU)"=="LINUXX" || ("$(COM)"=="C52" && "$(CPU)"=="U")
-all:
- @echo nothing to do
-.ENDIF
-
-# --- Files --------------------------------------------------------
-
-EXCEPTIONSFILES= \
- $(SLO)$/prj.obj
-
-SLOFILES=\
- $(SLO)$/dep.obj \
- $(SLO)$/minormk.obj \
- $(SLO)$/prodmap.obj \
- $(SLO)$/appdef.obj \
- $(SLO)$/hashtbl.obj \
- $(SLO)$/prj.obj
-
-
-SHL1TARGET =$(TARGET)$(DLLPOSTFIX)
-SHL1IMPLIB =$(TARGET)
-SHL1LIBS =$(SLB)$/$(TARGET).lib
-SHL1DEF =$(MISC)$/$(SHL1TARGET).def
-SHL1DEPN =$(SHL1LIBS)
-SHL1STDLIBS=\
- $(TOOLSLIB) \
- $(BTSTRPLIB) \
- $(SALLIB)
-
-DEF1NAME =$(SHL1TARGET)
-DEF1DEPN =$(MISC)$/$(SHL1TARGET).flt
-DEFLIB1NAME =$(TARGET)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-$(MISC)$/$(SHL1TARGET).flt: makefile.mk
- @echo ------------------------------
- @echo Making: $@
- @echo WEP > $@
- @echo LIBMAIN >> $@
- @echo LibMain >> $@
- @echo __CT >> $@
diff --git a/soldep/bootstrp/minormk.cxx b/soldep/bootstrp/minormk.cxx
deleted file mode 100644
index 848545b080b0..000000000000
--- a/soldep/bootstrp/minormk.cxx
+++ /dev/null
@@ -1,189 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include "minormk.hxx"
-#include "prodmap.hxx"
-#include <appdef.hxx>
-#include <tools/fsys.hxx>
-#include <tools/geninfo.hxx>
-
-//
-// class MinorMk
-//
-
-/*****************************************************************************/
-MinorMk::MinorMk(
- GenericInformationList *pList,
- const ByteString &rVersion,
- const ByteString &rWorkStamp,
- const ByteString &rEnvironment,
- const ByteString &rMinor
-)
-/*****************************************************************************/
-{
- String sRoot( ProductMapper::GetVersionRoot( pList, rVersion ));
- if ( sRoot.Len()) {
- ByteString sPath( sRoot, RTL_TEXTENCODING_ASCII_US );
- sPath += "/";
- sPath += rEnvironment;
- sPath += "/";
- sPath += "inc";
- if ( rMinor.Len()) {
- sPath += ".";
- sPath += rMinor;
- }
-#ifdef UNX
- sPath.SearchAndReplaceAll( "\\", "/" );
- while( sPath.SearchAndReplace( "//", "/" ) != STRING_NOTFOUND ) {};
-#else
- sPath.SearchAndReplaceAll( "/", "\\" );
- while( sPath.SearchAndReplace( "\\\\", "\\" ) != STRING_NOTFOUND ) {};
-#endif
- DirEntry aPath( String( sPath, RTL_TEXTENCODING_ASCII_US ));
-
- ByteString sFile( rWorkStamp );
- sFile += "minor.mk";
-
- DirEntry aFile( aPath );
- aFile += DirEntry( String( sFile, RTL_TEXTENCODING_ASCII_US ));
- if ( !aFile.Exists()) {
- sFile = sFile.Copy( 3 );
- aFile = aPath;
- aFile += DirEntry( String( sFile, RTL_TEXTENCODING_ASCII_US ));
- }
- ReadMinorMk( aFile.GetFull());
- }
-}
-
-/*****************************************************************************/
-MinorMk::MinorMk( GenericInformationList *pList, const ByteString rVersion )
-/*****************************************************************************/
-{
- String sRoot( ProductMapper::GetVersionRoot( pList, rVersion ));
- if ( sRoot.Len()) {
- ByteString sPath( sRoot, RTL_TEXTENCODING_ASCII_US );
- sPath += "/src/solenv/inc";
-#ifdef UNX
- sPath.SearchAndReplaceAll( "\\", "/" );
- while( sPath.SearchAndReplace( "//", "/" ) != STRING_NOTFOUND ) {};
-#else
- sPath.SearchAndReplaceAll( "/", "\\" );
- while( sPath.SearchAndReplace( "\\\\", "\\" ) != STRING_NOTFOUND ) {};
-#endif
- DirEntry aPath( String( sPath, RTL_TEXTENCODING_ASCII_US ));
-
- ByteString sFile( "minor.mk" );
-
- DirEntry aFile( aPath );
- aFile += DirEntry( String( sFile, RTL_TEXTENCODING_ASCII_US ));
-
- ReadMinorMk( aFile.GetFull());
- }
-}
-
-/*****************************************************************************/
-MinorMk::MinorMk( const ByteString &rMinor, const ByteString &rEnvironment )
-/*****************************************************************************/
- : bExists( FALSE )
-{
- ByteString sDelimiter( DirEntry::GetAccessDelimiter(), RTL_TEXTENCODING_ASCII_US );
-
-
- ByteString sSolver( GetEnv( "SOLARVERSION" ));
- BOOL bNewEnv = TRUE;
- if ( !sSolver.Len()) {
- sSolver = GetEnv( "SOLARVER" );
- bNewEnv = FALSE;
- }
- ByteString sUPD( GetEnv( "UPD" ));
-
- ByteString sMinorMk( sSolver );
- sMinorMk += sDelimiter;
- if ( !bNewEnv ) {
- sMinorMk += sUPD;
- sMinorMk += sDelimiter;
- }
-
- if ( rEnvironment.Len()) {
- sMinorMk += rEnvironment;
- sMinorMk += sDelimiter;
- sMinorMk += "inc";
- if( rMinor.Len()) {
- sMinorMk += ".";
- sMinorMk += rMinor;
- }
- sMinorMk += sDelimiter;
- }
-
- sMinorMk += sUPD;
- sMinorMk += "minor.mk";
-
- String sFile( sMinorMk, RTL_TEXTENCODING_ASCII_US );
-
- ReadMinorMk( sFile );
-}
-
-/*****************************************************************************/
-void MinorMk::ReadMinorMk( const String &rFileName )
-/*****************************************************************************/
-{
- if ( DirEntry( rFileName ).Exists()) {
- bExists = TRUE;
- SvFileStream aStream( rFileName, STREAM_STD_READ );
- while ( !aStream.IsOpen())
- aStream.Open( rFileName, STREAM_STD_READ );
-
- ByteString sLine;
- while ( !aStream.IsEof()) {
- aStream.ReadLine( sLine );
-
- if ( sLine.GetToken( 0, '=' ) == "RSCVERSION" )
- sRSCVERSION = sLine.GetToken( 1, '=' );
- else if ( sLine.GetToken( 0, '=' ) == "RSCREVISION" )
- sRSCREVISION = sLine.GetToken( 1, '=' );
- else if ( sLine.GetToken( 0, '=' ) == "BUILD" )
- sBUILD = sLine.GetToken( 1, '=' );
- else if ( sLine.GetToken( 0, '=' ) == "LAST_MINOR" )
- sLAST_MINOR = sLine.GetToken( 1, '=' );
- }
- aStream.Close();
-
- sRSCVERSION.EraseTrailingChars();
- sRSCREVISION.EraseTrailingChars();
- sBUILD.EraseTrailingChars();
- sLAST_MINOR.EraseTrailingChars();
- }
-}
-
-/*****************************************************************************/
-MinorMk::~MinorMk()
-/*****************************************************************************/
-{
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/bootstrp/prj.cxx b/soldep/bootstrp/prj.cxx
deleted file mode 100644
index ffd6f34c10b8..000000000000
--- a/soldep/bootstrp/prj.cxx
+++ /dev/null
@@ -1,2717 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#include <stdlib.h>
-#include <stdio.h>
-#include <bootstrp/sstring.hxx>
-#include <osl/mutex.hxx>
-
-#define ENABLE_BYTESTRING_STREAM_OPERATORS
-#include <tools/stream.hxx>
-#include <tools/geninfo.hxx>
-#include <soldep/prj.hxx>
-#include <bootstrp/inimgr.hxx>
-
-#ifndef MACOSX
-#pragma hdrstop
-#endif
-
-#ifdef MAC
-#define putenv(x)
-#endif
-
-#if defined(DOS) || defined(WNT) || defined(OS2)
-#define LIST_DELIMETER ';'
-#else
-#ifdef UNX
-#define LIST_DELIMETER ':'
-#else
-#ifdef MAC
-#define LIST_DELIMETER ','
-#endif
-#endif
-#endif
-
-#if defined(DOS) || defined(WNT) || defined(OS2) || defined(WIN)
-#define PATH_DELIMETER '\\'
-#else
-#ifdef UNX
-#define PATH_DELIMETER '/'
-#else
-#ifdef MAC
-#define PATH_DELIMETER ':'
-#endif
-#endif
-#endif
-
-//
-// class SimpleConfig
-//
-
-/*****************************************************************************/
-SimpleConfig::SimpleConfig( String aSimpleConfigFileName )
-/*****************************************************************************/
-{
- nLine = 0;
- aFileName = aSimpleConfigFileName;
- aFileStream.Open ( aFileName, STREAM_READ );
-}
-
-/*****************************************************************************/
-SimpleConfig::SimpleConfig( DirEntry& rDirEntry )
-/*****************************************************************************/
-{
- nLine = 0;
- aFileName = rDirEntry.GetFull();
- aFileStream.Open ( aFileName, STREAM_READ );
-}
-
-/*****************************************************************************/
-SimpleConfig::~SimpleConfig()
-/*****************************************************************************/
-{
- aFileStream.Close ();
-}
-
-/*****************************************************************************/
-ByteString SimpleConfig::GetNext()
-/*****************************************************************************/
-{
- ByteString aString;
-
- if ( aStringBuffer =="" )
- while ((aStringBuffer = GetNextLine()) == "\t");
- if ( aStringBuffer =="" )
- return ByteString();
-
- aString = aStringBuffer.GetToken(0,'\t');
- aStringBuffer.Erase(0, aString.Len()+1);
-
- aStringBuffer.EraseLeadingChars( '\t' );
-
- return aString;
-}
-
-/*****************************************************************************/
-ByteString SimpleConfig::GetNextLine()
-/*****************************************************************************/
-{
- ByteString aSecStr;
- sal_Bool bStreamOk;
- nLine++;
-
- bStreamOk = aFileStream.ReadLine ( aTmpStr );
- if ( (aTmpStr.Search( "#" ) == 0) )
- return "\t";
- aTmpStr = aTmpStr.EraseLeadingChars();
- aTmpStr = aTmpStr.EraseTrailingChars();
- while ( aTmpStr.SearchAndReplace(ByteString(' '),ByteString('\t') ) != STRING_NOTFOUND );
- int nLength = aTmpStr.Len();
- if ( bStreamOk && (nLength == 0) )
- return "\t";
- BOOL bFound = FALSE;
- ByteString aEraseString;
- for ( USHORT i = 0; i<= nLength; i++)
- {
-#ifdef MAC
- if ( aTmpStr.GetChar( i ) == '"')
- {
- if ( bFound) bFound = FALSE;
- else bFound = TRUE;
- aTmpStr.SetChar( i, '\t' );
- }
-#endif
- if ( aTmpStr.GetChar( i ) == 0x20 && !bFound )
- aTmpStr.SetChar( i, 0x09 );
- }
- return aTmpStr;
-}
-
-/*****************************************************************************/
-ByteString SimpleConfig::GetCleanedNextLine( BOOL bReadComments )
-/*****************************************************************************/
-{
- sal_Bool bStreamOk;
- sal_Bool bReadNextLine = sal_True;
- while (bReadNextLine)
- {
- bStreamOk = aFileStream.ReadLine ( aTmpStr );
- if (!bStreamOk)
- return ByteString();
-
- ByteString sTab = "\t";
- ByteString sDoubleTab = "\t\t";
- ByteString sSpace = " ";
- xub_StrLen nIndex = 0;
-
- aTmpStr.SearchAndReplaceAll(sSpace, sTab);
- while ( (nIndex = aTmpStr.SearchAndReplace(sDoubleTab, sTab, nIndex )) != STRING_NOTFOUND );
-
- aTmpStr = aTmpStr.EraseLeadingAndTrailingChars('\t'); // remove tabs
-
- if ( aTmpStr.Search( "#" ) == 0 )
- {
- if (bReadComments )
- return aTmpStr;
- }
- else if (aTmpStr != ByteString::EmptyString())
- bReadNextLine = sal_False;
- }
-
- return aTmpStr;
-}
-
-
-//
-// class CommandData
-//
-
-/*****************************************************************************/
-CommandData::CommandData()
-/*****************************************************************************/
-{
- nOSType = 0;
- nCommand = 0;
- pDepList = 0;
- pCommandList = 0;
-}
-
-/*****************************************************************************/
-CommandData::~CommandData()
-/*****************************************************************************/
-{
- if ( pDepList )
- {
- ByteString *pString = pDepList->First();
- while ( pString )
- {
- delete pString;
- pString = pDepList->Next();
- }
- delete pDepList;
-
- pDepList = NULL;
- }
- if ( pCommandList )
- {
- ByteString *pString = pCommandList->First();
- while ( pString )
- {
- delete pString;
- pString = pCommandList->Next();
- }
- delete pCommandList;
-
- pCommandList = NULL;
- }
-}
-
-/*****************************************************************************/
-ByteString CommandData::GetOSTypeString()
-/*****************************************************************************/
-{
- ByteString aRetStr;
-
- switch (nOSType)
- {
- case OS_WIN16 | OS_WIN32 | OS_OS2 | OS_UNX | OS_MAC :
- aRetStr = "all";
- break;
- case OS_WIN32 | OS_WIN16 :
- aRetStr = "w";
- break;
- case OS_OS2 :
- aRetStr = "p";
- break;
- case OS_UNX :
- aRetStr = "u";
- break;
- case OS_WIN16 :
- aRetStr = "d";
- break;
- case OS_WIN32 :
- aRetStr = "n";
- break;
- case OS_MAC :
- aRetStr = "m";
- break;
- default :
- aRetStr = "none";
- }
-
- return aRetStr;
-}
-
-/*****************************************************************************/
-ByteString CommandData::GetCommandTypeString()
-/*****************************************************************************/
-{
- ByteString aRetStr;
-
- switch (nCommand)
- {
- case COMMAND_NMAKE :
- aRetStr = "nmake";
- break;
- case COMMAND_GET :
- aRetStr = "get";
- break;
- default :
- aRetStr = "usr";
- aRetStr += ByteString::CreateFromInt64( nCommand + 1 - COMMAND_USER_START );
-
- }
-
- return aRetStr;
-}
-
-/*****************************************************************************/
-void CommandData::AddCommand(ByteString* pCommand)
-/*****************************************************************************/
-{
- if (!pCommandList)
- pCommandList = new SByteStringList();
- pCommandList->Insert(pCommand, LIST_APPEND);
-}
-
-/*****************************************************************************/
-CommandData& CommandData::operator>> ( SvStream& rStream )
-/*****************************************************************************/
-{
- rStream << aPrj;
- rStream << aLogFileName;
- rStream << aInpath;
- rStream << aUpd;
- rStream << aUpdMinor;
- rStream << aProduct;
- rStream << aCommand;
- rStream << aPath;
- rStream << aPrePath;
- rStream << aPreFix;
- rStream << aCommandPara;
- rStream << aComment;
- rStream << sClientRestriction;
-
- rStream << nOSType;
- rStream << nCommand;
- rStream << nDepth;
-
- if (pDepList)
- {
- rStream << sal_True;
- *pDepList >> rStream;
- }
- else
- rStream << sal_False;
-
- if (pCommandList)
- {
- rStream << sal_True;
- *pCommandList >> rStream;
- }
- else
- rStream << sal_False;
-
- return *this;
-}
-
-/*****************************************************************************/
-CommandData& CommandData::operator<< ( SvStream& rStream )
-/*****************************************************************************/
-{
- rStream >> aPrj;
- rStream >> aLogFileName;
- rStream >> aInpath;
- rStream >> aUpd;
- rStream >> aUpdMinor;
- rStream >> aProduct;
- rStream >> aCommand;
- rStream >> aPath;
- rStream >> aPrePath;
- rStream >> aPreFix;
- rStream >> aCommandPara;
- rStream >> aComment;
- rStream >> sClientRestriction;
-
- rStream >> nOSType;
- rStream >> nCommand;
- rStream >> nDepth;
-
- BOOL bDepList;
- rStream >> bDepList;
- if (pDepList)
- pDepList->CleanUp();
- if (bDepList)
- {
- if (!pDepList)
- pDepList = new SByteStringList();
- *pDepList << rStream;
- }
- else
- {
- if (pDepList)
- DELETEZ (pDepList);
- }
-
- BOOL bCommandList;
- rStream >> bCommandList;
- if (pCommandList)
- pCommandList->CleanUp();
- if (bCommandList)
- {
- if (!pCommandList)
- pCommandList = new SByteStringList();
- *pCommandList << rStream;
- }
- else
- {
- if (pCommandList)
- DELETEZ (pCommandList);
- }
-
- return *this;
-}
-
-
-
-//
-// class DepInfo
-//
-
-/*****************************************************************************/
-DepInfo::~DepInfo()
-/*****************************************************************************/
-{
- RemoveProject();
-
- if ( pModeList )
- {
- ByteString *pString = pModeList->First();
- while ( pString )
- {
- delete pString;
- pString = pModeList->Next();
- }
- delete pModeList;
-
- pModeList = NULL;
- }
-}
-
-/*****************************************************************************/
-void DepInfo::SetProject (ByteString* pStr)
-/*****************************************************************************/
-{
- RemoveProject();
- pProject = pStr;
-}
-
-/*****************************************************************************/
-void DepInfo::RemoveProject ()
-/*****************************************************************************/
-{
- if (pProject)
- {
- delete pProject;
- pProject = NULL;
- }
-}
-
-/*****************************************************************************/
-DepInfo& DepInfo::operator<< ( SvStream& rStream )
-/*****************************************************************************/
-{
- RemoveProject();
- pProject = new ByteString();
- rStream >> *pProject;
-
- BOOL bModeList;
- rStream >> bModeList;
- if (pModeList)
- pModeList->CleanUp();
- if (bModeList)
- {
- if (!pModeList)
- pModeList = new SByteStringList();
- *pModeList << rStream;
- }
- else
- DELETEZ (pModeList);
-
- rStream >> bAllModes;
- return *this;
-}
-
-/*****************************************************************************/
-DepInfo& DepInfo::operator>> ( SvStream& rStream )
-/*****************************************************************************/
-{
- rStream << *pProject;
- if (pModeList)
- {
- rStream << sal_True;
- *pModeList >> rStream;
- }
- else
- rStream << sal_False;
- rStream << bAllModes;
-
- return *this;
-}
-
-//
-// class SDepInfoList
-//
-
-/*****************************************************************************/
-SDepInfoList::SDepInfoList()
-/*****************************************************************************/
- : pAllModeList(0)
-{
-}
-
-/*****************************************************************************/
-SDepInfoList::~SDepInfoList()
-/*****************************************************************************/
-{
- if (pAllModeList)
- delete pAllModeList;
-}
-
-/*****************************************************************************/
-ULONG SDepInfoList::IsString( ByteString* pStr )
-/*****************************************************************************/
-{
- ULONG nRet = NOT_THERE;
- if ( (nRet = GetPrevString( pStr )) != 0 )
- {
- ByteString* pString = GetObject( nRet )->GetProject();
- if ( *pString == *pStr )
- return nRet;
- else
- return NOT_THERE;
- }
- else
- {
- ByteString* pString = GetObject( 0 )->GetProject();
- if ( pString && (*pString == *pStr) )
- return 0;
- else
- return NOT_THERE;
- }
- return nRet;
-}
-
-/*****************************************************************************/
-ULONG SDepInfoList::GetPrevString( ByteString* pStr )
-/*****************************************************************************/
-{
- ULONG nRet = 0;
- BOOL bFound = FALSE;
- ULONG nCount_l = Count();
- ULONG nUpper = nCount_l;
- ULONG nLower = 0;
- ULONG nCurrent = nUpper / 2;
- ULONG nRem = 0;
- ByteString* pString;
-
- do
- {
- if ( (nCurrent == nLower) || (nCurrent == nUpper) )
- return nLower;
- pString = GetObject( nCurrent )->GetProject();
- int nResult = pStr->CompareTo( *pString );
- if ( nResult == COMPARE_LESS )
- {
- nUpper = nCurrent;
- nCurrent = (nCurrent + nLower) /2;
- }
- else if ( nResult == COMPARE_GREATER )
- {
- nLower = nCurrent;
- nCurrent = (nUpper + nCurrent) /2;
- }
- else if ( nResult == COMPARE_EQUAL )
- return nCurrent;
- if ( nRem == nCurrent )
- return nCurrent;
- nRem = nCurrent;
- }
- while ( !bFound );
- return nRet;
-}
-
-/*****************************************************************************/
-void SDepInfoList::PutModeString( DepInfo* pInfoList, ByteString* pStr )
-/*****************************************************************************/
-{
- SByteStringList* pList = pInfoList->GetModeList();
- if (!pList)
- {
- pList = new SByteStringList;
- pInfoList->SetModeList(pList);
-
- }
-
- if (pList)
- {
- // check if string exists
- ByteString *pString = pList->First();
- while ( pString )
- {
- if (*pString == *pStr)
- {
- delete pStr;
- return;
- }
- pString = pList->Next();
- }
- pList->PutString( pStr );
- }
- else
- delete pStr;
-}
-
-/*****************************************************************************/
-ULONG SDepInfoList::PutString( ByteString* pStr)
-/*****************************************************************************/
-{
- return PutString( pStr, NULL);
-}
-
-/**************************************************************************
-*
-* Sortiert einen ByteString in die Liste ein und gibt die Position,
-* an der einsortiert wurde, zurueck
-*
-**************************************************************************/
-
-ULONG SDepInfoList::PutString( ByteString* pStr, ByteString* pModeStr)
-{
- if (pAllModeList)
- {
- delete pAllModeList;
- pAllModeList = NULL;
- }
-
- ULONG nPos = GetPrevString ( pStr );
- if ( Count() )
- {
- {
- DepInfo* pInfo = GetObject( 0 );
- ByteString* pString = pInfo->GetProject();
- if ( pString->CompareTo( *pStr ) == COMPARE_GREATER )
- {
- pInfo = new DepInfo;
- if (pInfo)
- {
- pInfo->SetProject(pStr);
- if (pModeStr)
- PutModeString(pInfo, pModeStr);
- else
- pInfo->SetAllModes();
- Insert( pInfo, (ULONG)0 );
- }
- return (ULONG)0;
- }
- }
- ByteString* pString = GetObject( nPos )->GetProject();
- if ( *pStr != *pString )
- {
- DepInfo* pInfo = new DepInfo;
- if (pInfo)
- {
- pInfo->SetProject(pStr);
- if (pModeStr)
- PutModeString(pInfo, pModeStr);
- else
- pInfo->SetAllModes();
- Insert( pInfo, nPos+1 );
- }
- return ( nPos +1 );
- }
- else
- {
- delete pStr;
- DepInfo* pInfo = GetObject( nPos );
- if (pModeStr)
- PutModeString(pInfo, pModeStr);
- else
- pInfo->SetAllModes();
- return ( nPos +1 );
- }
- }
- else
- {
- DepInfo* pInfo = new DepInfo;
- if (pInfo)
- {
- pInfo->SetProject(pStr);
- if (pModeStr)
- PutModeString(pInfo, pModeStr);
- else
- pInfo->SetAllModes();
- Insert( pInfo);
- return (ULONG)0;
- }
- }
-
- delete pStr;
- if (pModeStr)
- delete pModeStr;
- return NOT_THERE;
-}
-
-/*****************************************************************************/
-ByteString* SDepInfoList::RemoveString( const ByteString& rName )
-/*****************************************************************************/
-{
- ULONG i;
- ByteString* pReturn;
- if (pAllModeList)
- {
- delete pAllModeList;
- pAllModeList = NULL;
- }
-
- for( i = 0 ; i < Count(); i++ )
- {
- if ( rName == *(GetObject( i )->GetProject()) )
- {
- pReturn = new ByteString(*(GetObject(i)->GetProject()));
- DepInfo* pInfo;
- pInfo = GetObject(i);
- delete pInfo;
- Remove(i);
- return pReturn;
- }
- }
-
- return NULL;
-}
-
-/*****************************************************************************/
-SByteStringList* SDepInfoList::GetAllDepModes()
-/*****************************************************************************/
-{
- if (pAllModeList)
- return pAllModeList;
-
- DepInfo *pInfo = First();
- while ( pInfo )
- {
- if (!pInfo->IsAllModes() && pInfo->GetModeList())
- {
- if (!pAllModeList)
- pAllModeList = new SByteStringList();
- ByteString* pStr = pInfo->GetModeList()->First();
- while (pStr)
- {
- if (pAllModeList->IsString(pStr) == NOT_THERE)
- pAllModeList->PutString(pStr);
- pStr = pInfo->GetModeList()->Next();
- }
- }
- pInfo = Next();
- }
- return pAllModeList;
-}
-
-/*****************************************************************************/
-SDepInfoList& SDepInfoList::operator<< ( SvStream& rStream )
-/*****************************************************************************/
-{
- ULONG nCount_l;
- rStream >> nCount_l;
- for ( USHORT i = 0; i < nCount_l; i++ ) {
- DepInfo* pDepInfo = new DepInfo();
- *pDepInfo << rStream;
- Insert (pDepInfo, LIST_APPEND);
- }
- return *this;
-}
-
-/*****************************************************************************/
-SDepInfoList& SDepInfoList::operator>> ( SvStream& rStream )
-/*****************************************************************************/
-{
- ULONG nCount_l = Count();
- rStream << nCount_l;
- DepInfo* pDepInfo = First();
- while (pDepInfo) {
- *pDepInfo >> rStream;
- pDepInfo = Next();
- }
-
- return *this;
-}
-
-/*****************************************************************************/
-CommandData* Prj::GetDirectoryList ( USHORT nWhatOS, USHORT nCommand )
-/*****************************************************************************/
-{
- return (CommandData *)NULL;
-}
-
-/*****************************************************************************/
-CommandData* Prj::GetDirectoryData( ByteString aLogFileName )
-/*****************************************************************************/
-{
- PrjList* pPrjList = GetCommandDataList ();
- CommandData *pData = NULL;
- ULONG nCount_l = pPrjList->Count();
- for ( ULONG i=0; i<nCount_l; i++ )
- {
- pData = pPrjList->GetObject(i);
- if ( pData->GetLogFile() == aLogFileName )
- return pData;
- }
- return NULL;
-}
-
-//
-// class Prj
-//
-
-/*****************************************************************************/
-Prj::Prj() :
- pPrjInitialDepList(0),
- pPrjDepList(0),
- pPrjDepInfoList(0),
- bSorted( FALSE ),
- bHardDependencies( FALSE ),
- bFixedDependencies( FALSE ),
- bVisited( FALSE ),
- bIsAvailable( TRUE ),
- pTempCommandDataList (0),
- bTempCommandDataListPermanent (FALSE),
- bError (FALSE)
-/*****************************************************************************/
-{
-}
-
-/*****************************************************************************/
-Prj::Prj( ByteString aName ) :
- aProjectName( aName ),
- pPrjInitialDepList(0),
- pPrjDepList(0),
- pPrjDepInfoList(0),
- bSorted( FALSE ),
- bHardDependencies( FALSE ),
- bFixedDependencies( FALSE ),
- bVisited( FALSE ),
- bIsAvailable( TRUE ),
- pTempCommandDataList (0),
- bTempCommandDataListPermanent (FALSE),
- bError (FALSE)
-/*****************************************************************************/
-{
-}
-
-/*****************************************************************************/
-Prj::~Prj()
-/*****************************************************************************/
-{
- pPrjDepList = RemoveStringList (pPrjDepList);
- pPrjInitialDepList = RemoveStringList (pPrjInitialDepList);
- pPrjDepInfoList = RemoveDepInfoList (pPrjDepInfoList);
-}
-
-/*****************************************************************************/
-SByteStringList* Prj::RemoveStringList(SByteStringList* pStringList )
-/*****************************************************************************/
-{
- if ( pStringList )
- {
- ByteString *pString = pStringList->First();
- while ( pString )
- {
- delete pString;
- pString = pStringList->Next();
- }
-
- delete pStringList;
-
- pStringList = NULL;
- }
- return pStringList;
-}
-
-/*****************************************************************************/
-SDepInfoList* Prj::RemoveDepInfoList(SDepInfoList* pInfoList )
-/*****************************************************************************/
-{
- if ( pInfoList )
- {
- DepInfo *pInfo = pInfoList->First();
- while ( pInfo )
- {
- delete pInfo;
- pInfo = pInfoList->Next();
- }
-
- delete pInfoList;
-
- pInfoList = NULL;
- }
- return pInfoList;
-}
-
-/*****************************************************************************/
-void Prj::AddDependencies( ByteString aStr )
-/*****************************************************************************/
-{
-
- if ( !pPrjDepInfoList )
- pPrjDepInfoList = new SDepInfoList;
-
- pPrjDepInfoList->PutString( new ByteString(aStr) );
-}
-
-/*****************************************************************************/
-void Prj::AddDependencies( ByteString aStr, ByteString aModeStr )
-/*****************************************************************************/
-{
-
- // needs dirty flag - not expanded
- if ( !pPrjDepInfoList )
- pPrjDepInfoList = new SDepInfoList;
-
- pPrjDepInfoList->PutString( new ByteString(aStr), new ByteString(aModeStr) );
-}
-
-/*****************************************************************************/
-SByteStringList* Prj::GetDependencies( BOOL bExpanded )
-/*****************************************************************************/
-{
- if ( bExpanded )
- {
- if (!pPrjDepList)
- SetMode (NULL);
- return pPrjDepList;
- }
- else
- {
- if (!pPrjInitialDepList)
- SetMode (NULL);
- return pPrjInitialDepList;
- }
-}
-
-/*****************************************************************************/
-void Prj::SetMode(SByteStringList* pModList)
-/*****************************************************************************/
-{
- pPrjDepList = RemoveStringList (pPrjDepList);
- pPrjInitialDepList = RemoveStringList (pPrjInitialDepList);
-
- if (!pPrjDepInfoList)
- return;
-
- pPrjDepList = new SByteStringList;
- pPrjInitialDepList = new SByteStringList;
-
- DepInfo *pInfo = pPrjDepInfoList->First();
- while ( pInfo )
- {
- if (pInfo->IsAllModes() || !pInfo->GetModeList() || !pModList)
- {
- pPrjDepList->PutString( new ByteString((ByteString) *(pInfo->GetProject())));
- pPrjInitialDepList->PutString( new ByteString((ByteString) *(pInfo->GetProject())));
- }
- else
- {
- BOOL bStringFound = FALSE;
- SByteStringList * pDepList = pInfo->GetModeList();
- ByteString *pModString = pDepList->First();
- while ( pModString )
- {
- ByteString *pDefModString = pModList->First();
- while ( pDefModString )
- {
- if (*pDefModString == *pModString)
- {
- pPrjDepList->PutString( new ByteString((ByteString) *(pInfo->GetProject())));
- pPrjInitialDepList->PutString( new ByteString((ByteString) *(pInfo->GetProject())));
- bStringFound = TRUE;
- break;
- }
- pDefModString = pModList->Next();
- }
- if (bStringFound)
- break;
- pModString = pDepList->Next();
- }
-
- }
-
- pInfo = pPrjDepInfoList->Next();
- }
-}
-
-/*****************************************************************************/
-BOOL Prj::InsertDirectory ( ByteString aDirName, USHORT aWhat,
- USHORT aWhatOS, ByteString aLogFileName,
- const ByteString &rClientRestriction )
-/*****************************************************************************/
-{
- CommandData* pData = new CommandData();
-
- pData->SetPath( aDirName );
- pData->SetCommandType( aWhat );
- pData->SetOSType( aWhatOS );
- pData->SetLogFile( aLogFileName );
- pData->SetClientRestriction( rClientRestriction );
-
- PrjList* pPrjList = GetCommandDataList ();
- pPrjList->Insert( pData );
-
- return FALSE;
-}
-
-/*****************************************************************************/
-//
-// removes directory and existing dependencies on it
-//
-CommandData* Prj::RemoveDirectory ( ByteString aLogFileName )
-/*****************************************************************************/
-{
- PrjList* pPrjList = GetCommandDataList ();
- ULONG nCount_l = pPrjList->Count();
- CommandData* pData;
- CommandData* pDataFound = NULL;
- SByteStringList* pDataDeps;
-
- for ( USHORT i = 0; i < nCount_l; i++ )
- {
- pData = pPrjList->GetObject( i );
- if ( pData->GetLogFile() == aLogFileName )
- pDataFound = pData;
- else
- {
- pDataDeps = pData->GetDependencies();
- if ( pDataDeps )
- {
- ByteString* pString;
- ULONG nDataDepsCount = pDataDeps->Count();
- for ( ULONG j = nDataDepsCount; j > 0; j-- )
- {
- pString = pDataDeps->GetObject( j - 1 );
- if ( pString->GetToken( 0, '.') == aLogFileName )
- pDataDeps->Remove( pString );
- }
- }
- }
- }
-
- Remove( pDataFound );
-
- return pDataFound;
-}
-
-/*****************************************************************************/
-void Prj::ExtractDependencies()
-/*****************************************************************************/
-{
- ULONG nPos = 0;
- CommandData* pData = GetObject(nPos);
- while (pData)
- {
- SByteStringList* pDepList = pData->GetDependencies();
- if (pDepList)
- {
- ByteString * pDepStr = pDepList->First();
- while (pDepStr)
- {
- CommandData* pSearchData = First();
- while (pSearchData)
- {
- if ((*pDepStr == pSearchData->GetPath()) && (pData->GetOSType() & pSearchData->GetOSType()))
- {
- *pDepStr = pSearchData->GetLogFile();
- break;
- }
-
- pSearchData = Next();
- }
-
- pDepStr = pDepList->Next();
- }
- }
- nPos ++;
- pData = GetObject(nPos);
- }
-}
-
-/*****************************************************************************/
-PrjList* Prj::GetCommandDataList ()
-/*****************************************************************************/
-{
- if (pTempCommandDataList)
- return pTempCommandDataList;
- else
- return (PrjList*)this;
-}
-
-/*****************************************************************************/
-void Prj::RemoveTempCommandDataList()
-/*****************************************************************************/
-{
- if (pTempCommandDataList)
- {
- delete pTempCommandDataList; // this list remove the elements by itself
- pTempCommandDataList = NULL;
- }
-}
-
-/*****************************************************************************/
-void Prj::GenerateTempCommandDataList()
-/*****************************************************************************/
-{
- if (pTempCommandDataList)
- RemoveTempCommandDataList();
- pTempCommandDataList = new PrjList();
- CommandData* pCommandData = First();
- while (pCommandData) {
- SvMemoryStream* pStream = new SvMemoryStream();
- *pCommandData >> *pStream;
- CommandData* pNewCommandData = new CommandData();
- pStream->Seek( STREAM_SEEK_TO_BEGIN );
- *pNewCommandData << *pStream;
- pTempCommandDataList->Insert(pNewCommandData, LIST_APPEND);
- delete pStream;
- pCommandData = Next();
- }
-}
-
-/*****************************************************************************/
-void Prj::GenerateEmptyTempCommandDataList()
-/*****************************************************************************/
-{
- if (pTempCommandDataList)
- RemoveTempCommandDataList();
- pTempCommandDataList = new PrjList();
-}
-
-/*****************************************************************************/
-Prj& Prj::operator>> ( SvStream& rStream )
-/*****************************************************************************/
-{
- rStream << bVisited;
- rStream << aProjectName;
- rStream << aProjectPrefix;
- rStream << bHardDependencies;
- rStream << bFixedDependencies;
- rStream << bSorted;
- rStream << bIsAvailable;
- rStream << bError;
-
- if (pPrjDepInfoList)
- {
- rStream << sal_True;
- *pPrjDepInfoList >> rStream;
- }
- else
- rStream << sal_False;
-
- ULONG nCount_l = Count();
- rStream << nCount_l;
-
- CommandData* pData = First();
- while (pData) {
- *pData >> rStream;
- pData = Next();
- }
-
- return *this;
-}
-
-/*****************************************************************************/
-Prj& Prj::operator<< ( SvStream& rStream )
-/*****************************************************************************/
-{
- rStream >> bVisited;
- rStream >> aProjectName;
- rStream >> aProjectPrefix;
- rStream >> bHardDependencies;
- rStream >> bFixedDependencies;
- rStream >> bSorted;
- rStream >> bIsAvailable;
- rStream >> bError;
-
- BOOL bDepList;
- rStream >> bDepList;
- DELETEZ (pPrjDepInfoList);
- if (bDepList)
- {
- pPrjDepInfoList = new SDepInfoList();
- *pPrjDepInfoList << rStream;
- }
-
- ULONG nCount_l;
- rStream >> nCount_l;
-
- for ( USHORT i = 0; i < nCount_l; i++ ) {
- CommandData* pData = new CommandData();
- *pData << rStream;
- Insert (pData, LIST_APPEND);
- }
-
- return *this;
-}
-
-
-//
-// class Star
-//
-
-/*****************************************************************************/
-Star::Star()
-/*****************************************************************************/
- : pDepMode (NULL),
- pAllDepMode (NULL)
-{
- // this ctor is only used by StarWriter
-}
-
-/*****************************************************************************/
-Star::Star(String aFileName, USHORT nMode )
-/*****************************************************************************/
- : nStarMode( nMode ),
- sFileName( aFileName ),
- pDepMode (NULL),
- pAllDepMode (NULL)
-{
- Read( aFileName );
-}
-
-/*****************************************************************************/
-Star::Star(SolarFileList *pSolarFiles )
-/*****************************************************************************/
- : nStarMode( STAR_MODE_MULTIPLE_PARSE ),
- pDepMode (NULL),
- pAllDepMode (NULL)
-{
- // this ctor is used by StarBuilder to get the information for the whole workspace
- Read( pSolarFiles );
-}
-
-/*****************************************************************************/
-Star::Star(GenericInformationList *pStandLst, ByteString &rVersion,
- BOOL bLocal, const char *pSourceRoot )
-/*****************************************************************************/
- : pDepMode (NULL),
- pAllDepMode (NULL)
-{
- UpdateFileList (pStandLst, rVersion, TRUE, bLocal, pSourceRoot);
-}
-
-/*****************************************************************************/
-void Star::UpdateFileList( GenericInformationList *pStandLst, ByteString &rVersion,
- BOOL bRead, BOOL bLocal, const char *pSourceRoot )
-/*****************************************************************************/
-{
- sSourceRoot=String::CreateFromAscii(""); // clear old SourceRoot
- ByteString sPath( rVersion );
- if ( pSourceRoot )
- sSourceRoot = String::CreateFromAscii( pSourceRoot );
-
-#ifdef UNX
- sPath += "/settings/UNXSOLARLIST";
-#else
- sPath += "/settings/SOLARLIST";
-#endif
- GenericInformation *pInfo = pStandLst->GetInfo( sPath, TRUE );
-
- if( pInfo && pInfo->GetValue().Len()) {
- ByteString sFile( pInfo->GetValue());
- if ( bLocal ) {
- IniManager aIniManager;
- aIniManager.ToLocal( sFile );
- }
- String sFileName_l( sFile, RTL_TEXTENCODING_ASCII_US );
- nStarMode = STAR_MODE_SINGLE_PARSE;
- if (bRead)
- Read( sFileName_l );
- }
- else {
- SolarFileList *pFileList = new SolarFileList();
-
- sPath = rVersion;
- sPath += "/drives";
-
- GenericInformation *pInfo_l = pStandLst->GetInfo( sPath, TRUE );
- if ( pInfo_l && pInfo_l->GetSubList()) {
- GenericInformationList *pDrives = pInfo_l->GetSubList();
- for ( ULONG i = 0; i < pDrives->Count(); i++ ) {
- GenericInformation *pDrive = pDrives->GetObject( i );
- if ( pDrive ) {
- DirEntry aEntry;
- BOOL bOk = FALSE;
- if ( sSourceRoot.Len()) {
- aEntry = DirEntry( sSourceRoot );
- bOk = TRUE;
- }
- else {
-#ifdef UNX
- sPath = "UnixVolume";
- GenericInformation *pUnixVolume = pDrive->GetSubInfo( sPath );
- if ( pUnixVolume ) {
- String sRoot( pUnixVolume->GetValue(), RTL_TEXTENCODING_ASCII_US );
- aEntry = DirEntry( sRoot );
- bOk = TRUE;
- }
-#else
- bOk = TRUE;
- String sRoot( *pDrive, RTL_TEXTENCODING_ASCII_US );
- sRoot += String::CreateFromAscii( "\\" );
- aEntry = DirEntry( sRoot );
-#endif
- }
- if ( bOk ) {
- sPath = "projects";
- GenericInformation *pProjectsKey = pDrive->GetSubInfo( sPath, TRUE );
- if ( pProjectsKey ) {
- if ( !sSourceRoot.Len()) {
- sPath = rVersion;
- sPath += "/settings/PATH";
- GenericInformation *pPath = pStandLst->GetInfo( sPath, TRUE );
- if( pPath ) {
- ByteString sAddPath( pPath->GetValue());
-#ifdef UNX
- sAddPath.SearchAndReplaceAll( "\\", "/" );
-#else
- sAddPath.SearchAndReplaceAll( "/", "\\" );
-#endif
- String ssAddPath( sAddPath, RTL_TEXTENCODING_ASCII_US );
- aEntry += DirEntry( ssAddPath );
- }
- }
- sPath = rVersion;
- sPath += "/settings/SHORTPATH";
- GenericInformation *pShortPath = pStandLst->GetInfo( sPath, TRUE );
- BOOL bShortPath = FALSE;
- if (pShortPath && (pShortPath->GetValue() == "_TRUE"))
- bShortPath = TRUE;
- sSourceRoot = aEntry.GetFull();
- GenericInformationList *pProjects = pProjectsKey->GetSubList();
- if ( pProjects ) {
- GenericInformation * pProject = pProjects->First();
- while (pProject) {
- String sLocalSourceRoot = sSourceRoot;
- ByteString sProject( *pProject );
- String ssProject( sProject, RTL_TEXTENCODING_ASCII_US );
-
- ByteString aDirStr ("Directory");
- GenericInformation * pDir = pProject->GetSubInfo (aDirStr);
- if (pDir) {
- ByteString aDir = pDir->GetValue();
- DirEntry aRootEntry;
- if (bShortPath)
- aRootEntry = aEntry + DirEntry(aDir);
- else
- aRootEntry = aEntry.GetPath() + DirEntry(aDir);
- sLocalSourceRoot = aRootEntry.GetFull();
- }
-
- String aBuildListPath = CreateFileName(ssProject, sLocalSourceRoot);
-
- pFileList->Insert( new String( aBuildListPath ), LIST_APPEND );
- ByteString sFile( aBuildListPath, RTL_TEXTENCODING_ASCII_US );
- pProject = pProjects->Next();
- }
- }
- }
- }
- }
- }
- }
-
- if (!CheckFileLoadList(pFileList))
- {
- ClearAvailableDeps();
- ClearCurrentDeps();
- ClearLoadedFilesList();
- RemoveAllPrj();
- bRead = TRUE; // read new list because old list is deleted
- }
-
- if (bRead)
- Read( pFileList );
- else
- GenerateFileLoadList( pFileList );
- }
-}
-
-/*****************************************************************************/
-void Star::FullReload( GenericInformationList *pStandLst, ByteString &rVersion,
- BOOL bRead, BOOL bLocal, const char *pSourceRoot )
-/*****************************************************************************/
-{
- ClearAvailableDeps();
- ClearCurrentDeps();
- ClearLoadedFilesList();
- RemoveAllPrj();
- UpdateFileList( pStandLst, rVersion, bRead, bLocal, pSourceRoot );
-}
-
-/*****************************************************************************/
-BOOL Star::CheckFileLoadList(SolarFileList *pSolarFiles)
-/*****************************************************************************/
-{
- BOOL bRet = TRUE;
- if (aLoadedFilesList.Count() == 0)
- return bRet;
- StarFile * pLoadFile = aLoadedFilesList.First();
- while (pLoadFile)
- {
- BOOL bIsAvailable = FALSE;
- String * pFile = pSolarFiles->First();
- while (pFile)
- {
- if (*pFile == pLoadFile->GetName())
- {
- bIsAvailable = TRUE;
- break;
- }
- pFile = pSolarFiles->Next();
- }
- if (!bIsAvailable)
- {
- bRet = FALSE;
- break;
- }
- pLoadFile = aLoadedFilesList.Next();
- }
- return bRet;
-}
-
-/*****************************************************************************/
-Star::~Star()
-/*****************************************************************************/
-{
- ClearAvailableDeps();
- ClearCurrentDeps();
- ClearLoadedFilesList();
- RemoveAllPrj();
-}
-
-/*****************************************************************************/
-void Star::GenerateFileLoadList( SolarFileList *pSolarFiles )
-/*****************************************************************************/
-{
- SolarFileList* pNewSolarFiles = NULL;
- while( pSolarFiles->Count()) {
- StarFile *pFile = new StarFile( *pSolarFiles->GetObject(( ULONG ) 0 ));
- aMutex.acquire();
- ULONG nPos = SearchFileEntry(&aLoadedFilesList, pFile);
- if ( nPos == LIST_ENTRY_NOTFOUND )
- {
- if (!pNewSolarFiles)
- pNewSolarFiles = new SolarFileList();
-
- pNewSolarFiles->Insert(new String(pFile->GetName()), LIST_APPEND );
- }
- aMutex.release();
- delete pSolarFiles->Remove(( ULONG ) 0 );
- delete pFile;
- }
- delete pSolarFiles;
- if (pNewSolarFiles)
- Read (pNewSolarFiles);
-}
-
-/*****************************************************************************/
-SolarFileList* Star::NeedsFilesForUpdate()
-/*****************************************************************************/
-{
- aMutex.acquire();
- SolarFileList* pPrjList = NULL;
- for ( ULONG i = 0; i < aLoadedFilesList.Count(); i++ )
- if ( aLoadedFilesList.GetObject( i )->NeedsUpdate()) {
- if (!pPrjList)
- pPrjList = new SolarFileList();
-
- pPrjList->Insert(new String (aLoadedFilesList.GetObject( i )->GetName()), LIST_APPEND);
- }
-
- aMutex.release();
- return pPrjList;
-}
-
-/*****************************************************************************/
-BOOL Star::NeedsUpdate()
-/*****************************************************************************/
-{
- aMutex.acquire();
- for ( ULONG i = 0; i < aLoadedFilesList.Count(); i++ )
- if ( aLoadedFilesList.GetObject( i )->NeedsUpdate()) {
- aMutex.release();
- return TRUE;
- }
-
- aMutex.release();
- return FALSE;
-}
-
-/*****************************************************************************/
-void Star::Read( String &rFileName )
-/*****************************************************************************/
-{
- ClearAvailableDeps ();
- ByteString aString;
- aFileList.Insert( new String( rFileName ));
-
- DirEntry aEntry( rFileName );
- aEntry.ToAbs();
- aEntry = aEntry.GetPath().GetPath().GetPath();
- sSourceRoot = aEntry.GetFull();
-
- while( aFileList.Count()) {
- String ssFileName = *aFileList.GetObject(( ULONG ) 0 );
- StarFile* pFile = ReadBuildlist (ssFileName);
- aMutex.acquire();
- ReplaceFileEntry (&aLoadedFilesList, pFile);
- aMutex.release();
- aFileList.Remove(( ULONG ) 0 );
- }
- // resolve all dependencies recursive
- Expand_Impl();
-}
-
-/*****************************************************************************/
-ULONG Star::SearchFileEntry( StarFileList *pStarFiles, StarFile* pFile )
-/*****************************************************************************/
-{
- StarFile *pSearchFile;
- ULONG nCount_l;
-
- nCount_l = pStarFiles->Count();
-
- for ( ULONG i=0; i<nCount_l; i++)
- {
- pSearchFile = pStarFiles->GetObject(i);
- if ( pSearchFile->GetName() == pFile->GetName() )
- {
- return i;
- }
- }
- return LIST_ENTRY_NOTFOUND;
-}
-
-/*****************************************************************************/
-void Star::ReplaceFileEntry( StarFileList *pStarFiles, StarFile* pFile )
-/*****************************************************************************/
-{
- ULONG nPos = SearchFileEntry(pStarFiles, pFile);
- if ( nPos != LIST_ENTRY_NOTFOUND )
- {
- StarFile* pTmpStarFile = pStarFiles->GetObject(nPos);
- delete pTmpStarFile;
- pStarFiles->Replace(pFile, nPos);
- return;
- }
- pStarFiles->Insert( pFile, LIST_APPEND );
-}
-
-/*****************************************************************************/
-void Star::Read( SolarFileList *pSolarFiles )
-/*****************************************************************************/
-{
- ClearAvailableDeps ();
- while( pSolarFiles->Count()) {
- ByteString aString;
-
- String ssFileName = *pSolarFiles->GetObject(( ULONG ) 0 );
- StarFile *pFile = ReadBuildlist ( ssFileName);
-
- if ( pFile->Exists()) {
- DirEntry aEntry( pFile->GetName() );
- DirEntry aEntryPrj = aEntry.GetPath().GetPath();
- if (aEntryPrj.GetExtension() != String::CreateFromAscii( "" ))
- {
- aEntryPrj.CutExtension();
- ByteString aPrjName = ByteString( aEntryPrj.GetName(), gsl_getSystemTextEncoding());
- Prj* pPrj = GetPrj(aPrjName);
- if (pPrj)
- pPrj->IsAvailable (FALSE);
- }
-
- }
-
- aMutex.acquire();
- ReplaceFileEntry (&aLoadedFilesList, pFile);
- aMutex.release();
- delete pSolarFiles->Remove(( ULONG ) 0 );
- }
- delete pSolarFiles;
-
- Expand_Impl();
-}
-
-/*****************************************************************************/
-String Star::CreateFileName( String& rProject, String& rSourceRoot )
-/*****************************************************************************/
-{
- // this method is used to find solarlist parts of nabours (other projects)
- String sPrjDir( String::CreateFromAscii( "prj" ));
- String sBuildList( String::CreateFromAscii( "build.lst" ));
-
- DirEntry aEntry( rSourceRoot );
- aEntry += DirEntry( rProject );
-
- // if this project not exists, maybe it's a not added project of a CWS
-
- if ( !aEntry.Exists() ) {
- aEntry.SetExtension(String::CreateFromAscii( "lnk" ));
- if ( !aEntry.Exists() )
- aEntry.CutExtension();
-
- aEntry.SetExtension(String::CreateFromAscii( "link" ));
- if ( !aEntry.Exists() )
- aEntry.CutExtension();
- }
-
- aEntry += DirEntry( sPrjDir );
- aEntry += DirEntry( sBuildList );
-
- DirEntry& aActualEntry = aEntry;
-
- if ( !aActualEntry.Exists() && aDBNotFoundHdl.IsSet())
- aDBNotFoundHdl.Call( &rProject );
- return aActualEntry.GetFull();
-}
-
-/*****************************************************************************/
-void Star::InsertSolarList( String sProject )
-/*****************************************************************************/
-{
- // inserts a new solarlist part of another project
- String sFileName_l( CreateFileName( sProject, sSourceRoot ));
-
- for ( ULONG i = 0; i < aFileList.Count(); i++ ) {
- if (( *aFileList.GetObject( i )) == sFileName_l )
- return;
- }
-
- ByteString ssProject( sProject, RTL_TEXTENCODING_ASCII_US );
- if ( HasProject( ssProject ))
- return;
-
- aFileList.Insert( new String( sFileName_l ), LIST_APPEND );
-}
-
-/*****************************************************************************/
-void Star::ExpandPrj_Impl( Prj *pPrj, Prj *pDepPrj )
-/*****************************************************************************/
-{
- if ( pDepPrj->bVisited )
- return;
-
- pDepPrj->bVisited = TRUE;
-
- SByteStringList* pPrjLst = pPrj->GetDependencies();
- SByteStringList* pDepLst = NULL;
- ByteString* pDepend;
- ByteString* pPutStr;
- Prj *pNextPrj = NULL;
- ULONG i, nRetPos;
-
- if ( pPrjLst ) {
- pDepLst = pDepPrj->GetDependencies();
- if ( pDepLst ) {
- for ( i = 0; i < pDepLst->Count(); i++ ) {
- pDepend = pDepLst->GetObject( i );
- pPutStr = new ByteString( *pDepend );
- nRetPos = pPrjLst->PutString( pPutStr );
- if( nRetPos == NOT_THERE )
- delete pPutStr;
- pNextPrj = GetPrj( *pDepend );
- if ( pNextPrj ) {
- ExpandPrj_Impl( pPrj, pNextPrj );
- }
- }
- }
- }
-}
-
-/*****************************************************************************/
-void Star::Expand_Impl()
-/*****************************************************************************/
-{
- for ( ULONG i = 0; i < Count(); i++ ) {
- for ( ULONG j = 0; j < Count(); j++ )
- GetObject( j )->bVisited = FALSE;
-
- Prj* pPrj = GetObject( i );
- pPrj->SetMode(pDepMode); // DepList fr Mode initialisieren
- ExpandPrj_Impl( pPrj, pPrj );
- }
-}
-
-/*****************************************************************************/
-StarFile* Star::ReadBuildlist (const String& rFilename, BOOL bReadComments, BOOL bExtendAlias)
-/*****************************************************************************/
-{
- ByteString sFileName_l(rFilename, RTL_TEXTENCODING_ASCII_US);
- StarFile *pFile = new StarFile( rFilename );
- if ( pFile->Exists()) {
- SimpleConfig aSolarConfig( rFilename );
- DirEntry aEntry(rFilename);
- ByteString sProjectName (aEntry.GetPath().GetPath().GetName(), RTL_TEXTENCODING_ASCII_US);
- Prj* pPrj = GetPrj (sProjectName); // 0, if Prj not found
- if (pPrj)
- {
- Remove(pPrj); // Project exist, remove old Project and read again
- DELETEZ (pPrj); // delete and set pPrj to 0
- }
- ByteString aString;
- while (( aString = aSolarConfig.GetCleanedNextLine( bReadComments )) != ByteString::EmptyString() )
- InsertTokenLine ( aString, &pPrj, sProjectName, bExtendAlias );
- }
- return pFile;
-}
-
-/*****************************************************************************/
-void Star::InsertTokenLine ( const ByteString& rTokenLine, Prj** ppPrj, const ByteString& rProjectName, const sal_Bool bExtendAlias )
-/*****************************************************************************/
-{
- int i = 0;
- ByteString aWhat, aWhatOS,
- sClientRestriction, aLogFileName, aProjectName, aPrefix, aCommandPara;
- ByteString aDirName;
- BOOL bPrjDep = FALSE;
- BOOL bHardDep = FALSE;
- BOOL bFixedDep = FALSE;
- BOOL bNewProject = FALSE;
- int nCommandType=0, nOSType=0;
- Prj* pPrj = *ppPrj;
- CommandData* pCmdData;
- SByteStringList *pDepList = NULL;
- ByteString aCommentString;
- ByteString sToken;
- ByteString sStringBuffer = rTokenLine;
-
- while (sStringBuffer != ByteString::EmptyString())
- {
- ByteString sToken = sStringBuffer.GetToken(0,'\t');
- sStringBuffer.Erase(0, sToken.Len()+1);
-
- switch (i)
- {
- case 0:
- if ( sToken.Search( "#" ) == 0 )
- {
- i = -1;
- aCommentString = sToken;
- sStringBuffer = ByteString::EmptyString();
- if ( Count() == 0 )
- aDirName = "null_entry" ; //comments at begin of file
- }
- else
- {
- aPrefix = sToken;
- pDepList = 0;
- }
- break;
- case 1:
- aDirName = sToken;
- aProjectName = aDirName.GetToken ( 0, 0x5c);
- if (aProjectName != rProjectName)
- sStringBuffer = ByteString::EmptyString(); // something is wrong, ignore line
- break;
- case 2:
- if ( sToken.CompareTo(":") == COMPARE_EQUAL )
- {
- bPrjDep = TRUE;
- bHardDep = FALSE;
- bFixedDep = FALSE;
- i = 9;
- }
- else if ( sToken.CompareTo("::") == COMPARE_EQUAL )
- {
- bPrjDep = TRUE;
- bHardDep = TRUE;
- bFixedDep = FALSE;
- i = 9;
- }
- else if ( sToken.CompareTo(":::") == COMPARE_EQUAL )
- {
- bPrjDep = TRUE;
- bHardDep = TRUE;
- bFixedDep = TRUE;
- i = 9;
- }
- else
- {
- bPrjDep = FALSE;
- bHardDep = FALSE;
- bFixedDep = FALSE;
-
- aWhat = sToken;
- nCommandType = GetJobType(aWhat);
- }
- if (bPrjDep)
- {
- if (pPrj)
- sStringBuffer = ByteString::EmptyString(); // definition more than once or not first line, ignore line
- }
- break;
- case 3:
- if ( !bPrjDep )
- {
- aWhat = sToken;
- if ( aWhat == "-" )
- {
- aCommandPara = ByteString();
- }
- else
- aCommandPara = aWhat;
- }
- break;
- case 4:
- if ( !bPrjDep )
- {
- aWhatOS = sToken;
- if ( aWhatOS.GetTokenCount( ',' ) > 1 ) {
- sClientRestriction = aWhatOS.Copy( aWhatOS.GetToken( 0, ',' ).Len() + 1 );
- aWhatOS = aWhatOS.GetToken( 0, ',' );
- }
- nOSType = GetOSType (aWhatOS);
- }
- break;
- case 5:
- if ( !bPrjDep )
- {
- if (bExtendAlias)
- aLogFileName = (ByteString(aProjectName).Append("_")).Append(sToken);
- else
- aLogFileName = sToken;
-
- }
- break;
- default:
- if ( !bPrjDep )
- {
- ByteString aItem = sToken;
- if ( aItem == "NULL" )
- {
- // Liste zu Ende
- i = -1;
- }
- else
- {
- // ggfs. Dependency liste anlegen und ergaenzen
- if ( !pDepList )
- pDepList = new SByteStringList;
- ByteString* pStr;
- if (bExtendAlias)
- pStr = new ByteString ((ByteString (aProjectName).Append("_")).Append(aItem));
- else
- pStr = new ByteString (aItem);
- pDepList->PutString( pStr );
- }
- }
- else
- {
- ByteString aItem = sToken;
- if ( aItem == "NULL" )
- {
- // Liste zu Ende
- i = -1;
- bPrjDep= FALSE;
- }
- else
- {
- ByteString sMode;
- BOOL bHasModes = FALSE;
- if (aItem.Search(":") != STRING_NOTFOUND)
- {
- sMode = aItem.GetToken ( 0, ':');
- aItem = aItem.GetToken ( 1, ':');
- bHasModes = TRUE;
- }
- if (!pPrj)
- {
- // neues Project anlegen
- pPrj = new Prj ( aProjectName );
- pPrj->SetPreFix( aPrefix );
- bNewProject = TRUE;
- }
- if (bHasModes)
- pPrj->AddDependencies( aItem, sMode );
- else
- pPrj->AddDependencies( aItem );
- pPrj->HasHardDependencies( bHardDep );
- pPrj->HasFixedDependencies( bFixedDep );
- }
- }
- break;
- }
- if ( i == -1 )
- break;
- i++;
- }
- /* Wenn dieses Project noch nicht vertreten ist, in die Liste
- der Solar-Projekte einfuegen */
- if ( i == -1 )
- {
- if (!pPrj)
- {
- // neues Project anlegen
- pPrj = new Prj ( aProjectName );
- pPrj->SetPreFix( aPrefix );
- bNewProject = TRUE;
- }
-
- if (bNewProject)
- Insert(pPrj,LIST_APPEND);
-
- pCmdData = new CommandData;
- pCmdData->SetPath( aDirName );
- pCmdData->SetCommandType( nCommandType );
- pCmdData->SetCommandPara( aCommandPara );
- pCmdData->SetOSType( nOSType );
- pCmdData->SetLogFile( aLogFileName );
- pCmdData->SetComment( aCommentString );
- pCmdData->SetClientRestriction( sClientRestriction );
- if ( pDepList )
- pCmdData->SetDependencies( pDepList );
-
- pDepList = 0;
- pPrj->Insert ( pCmdData, LIST_APPEND );
-
- // und wer raeumt die depLst wieder ab ?
- // CommandData macht das
- }
- else
- {
- if (!pPrj)
- {
- // new project to set the error flag
- pPrj = new Prj ( rProjectName );
- pPrj->SetPreFix( aPrefix );
- bNewProject = TRUE;
- }
- if (pPrj)
- {
- pPrj->SetError();
- if (bNewProject)
- Insert(pPrj,LIST_APPEND); // add project even if there is a buildlist error
- }
- if ( pDepList )
- delete pDepList;
- }
- *ppPrj = pPrj;
-}
-
-/*****************************************************************************/
-BOOL Star::HasProject ( ByteString aProjectName )
-/*****************************************************************************/
-{
- Prj *pPrj;
- int nCount_l;
-
- nCount_l = Count();
-
- for ( int i=0; i<nCount_l; i++)
- {
- pPrj = GetObject(i);
- if ( pPrj->GetProjectName().ToLowerAscii() == aProjectName.ToLowerAscii() )
- return TRUE;
- }
- return FALSE;
-}
-
-/*****************************************************************************/
-Prj* Star::GetPrj ( ByteString aProjectName )
-/*****************************************************************************/
-{
- Prj* pPrj;
- int nCount_l = Count();
- for ( int i=0;i<nCount_l;i++)
- {
- pPrj = GetObject(i);
- if ( pPrj->GetProjectName().ToLowerAscii() == aProjectName.ToLowerAscii() )
- return pPrj;
- }
- return 0L ;
-}
-
-/*****************************************************************************/
-BOOL Star::RemovePrj ( Prj* pPrj )
-/*****************************************************************************/
-{
- ULONG nPos = GetPos(pPrj);
- if (nPos != LIST_ENTRY_NOTFOUND) {
- delete pPrj;
- Remove(nPos);
- return TRUE;
- }
- return FALSE;
-}
-
-/*****************************************************************************/
-void Star::RemoveAllPrj ()
-/*****************************************************************************/
-{
- Prj* pPrj = First();
- while (pPrj)
- {
- delete pPrj;
- pPrj = Next();
- }
- Clear();
-}
-
-/*****************************************************************************/
-ByteString Star::GetPrjName( DirEntry &aPath )
-/*****************************************************************************/
-{
- ByteString aRetPrj, aDirName;
- ByteString aFullPathName = ByteString( aPath.GetFull(), gsl_getSystemTextEncoding());
-
- USHORT nToken = aFullPathName.GetTokenCount(PATH_DELIMETER);
- for ( int i=0; i< nToken; i++ )
- {
- aDirName = aFullPathName.GetToken( i, PATH_DELIMETER );
- if ( HasProject( aDirName ))
- {
- aRetPrj = aDirName;
- break;
- }
- }
-
- return aRetPrj;
-}
-
-/*****************************************************************************/
-void Star::ClearAvailableDeps ()
-/*****************************************************************************/
-{
- if ( pAllDepMode )
- {
- ByteString *pString = pAllDepMode->First();
- while ( pString )
- {
- delete pString;
- pString = pAllDepMode->Next();
- }
- delete pAllDepMode;
- pAllDepMode = NULL;
- }
-}
-
-/*****************************************************************************/
-void Star::ClearLoadedFilesList ()
-/*****************************************************************************/
-{
- StarFile *pStarFile = aLoadedFilesList.First();
- while ( pStarFile )
- {
- delete pStarFile;
- pStarFile = aLoadedFilesList.Next();
- }
- aLoadedFilesList.Clear();
-}
-
-/*****************************************************************************/
-void Star::ClearCurrentDeps ()
-/*****************************************************************************/
-{
- if ( pDepMode )
- {
- ByteString *pString = pDepMode->First();
- while ( pString )
- {
- delete pString;
- pString = pDepMode->Next();
- }
- delete pDepMode;
- pDepMode = NULL;
- }
-}
-
-/*****************************************************************************/
-SByteStringList* Star::GetAvailableDeps ()
-/*****************************************************************************/
-{
- if ( pAllDepMode )
- return pAllDepMode;
-
- Prj *pPrj;
- ByteString* pStr;
- pPrj = First();
- while (pPrj)
- {
- SByteStringList* pModeList = NULL;
- if (pPrj->GetModeAndDependencies() && (pModeList = pPrj->GetModeAndDependencies()->GetAllDepModes()))
- {
- pStr = pModeList->First();
- while (pStr)
- {
- if ( !pAllDepMode )
- pAllDepMode = new SByteStringList();
-
- if (pAllDepMode->IsString(pStr) == NOT_THERE)
- pAllDepMode->PutString(new ByteString(*pStr));
-
- pStr = pModeList->Next();
- }
- }
- pPrj = Next();
- }
- return pAllDepMode;
-}
-
-/*****************************************************************************/
-void Star::SetCurrentDeps (SByteStringList* pDepList)
-/*****************************************************************************/
-{
- ClearCurrentDeps();
-
- if (pDepList)
- {
- pDepMode = new SByteStringList();
- ByteString *pString = pDepList->First();
- while ( pString )
- {
- ByteString* pStr = new ByteString (*pString);
- if (pDepMode->PutString(pStr) == NOT_THERE)
- delete pStr; // String is not in List
- pString = pDepList->Next();
- }
- }
- Expand_Impl();
-}
-
-/*****************************************************************************/
-int Star::GetOSType ( ByteString& aWhatOS ) {
-/*****************************************************************************/
- int nOSType = OS_NONE;
- if ( aWhatOS == "all" )
- nOSType = ( OS_WIN16 | OS_WIN32 | OS_OS2 | OS_UNX | OS_MAC );
- else if ( aWhatOS == "w" || aWhatOS == "wnt" )
- nOSType = ( OS_WIN16 | OS_WIN32 );
- else if ( aWhatOS == "p" )
- nOSType = OS_OS2;
- else if ( aWhatOS == "u" || aWhatOS == "unx" )
- nOSType = OS_UNX;
- else if ( aWhatOS == "d" )
- nOSType = OS_WIN16;
- else if ( aWhatOS == "n" )
- nOSType = OS_WIN32;
- else if ( aWhatOS == "m" || aWhatOS == "mac" )
- nOSType = OS_MAC;
- return nOSType;
-
-};
-
-/*****************************************************************************/
-int Star::GetJobType ( ByteString& JobType ) {
-/*****************************************************************************/
- int nCommandType = 0;
- if ( JobType == "nmake" || JobType == "make")
- nCommandType = COMMAND_NMAKE;
- else if ( JobType == "get" )
- nCommandType = COMMAND_GET;
- else {
- ULONG nOffset = JobType.Copy( 3 ).ToInt32();
- nCommandType = COMMAND_USER_START + nOffset - 1;
- }
- return nCommandType;
-};
-
-/*****************************************************************************/
-void Star::PutPrjIntoStream (SByteStringList* pPrjNameList, SvStream* pStream)
-/*****************************************************************************/
-{
- aMutex.acquire();
- *pStream << sal_False; // not full Star / only some Projects
-
- ULONG nCount_l = pPrjNameList->Count();
- *pStream << nCount_l;
- ByteString* pStr = pPrjNameList->First();
- while (pStr) {
- Prj* pPrj = GetPrj (*pStr);
- *pPrj >> *pStream;
- pStr = pPrjNameList->Next();
- }
- aMutex.release();
-}
-
-/*****************************************************************************/
-Star& Star::operator>> ( SvStream& rStream )
-/*****************************************************************************/
-{
- aMutex.acquire();
- rStream << sal_True; // full Star
- rStream << nStarMode;
- if (pDepMode)
- {
- rStream << sal_True;
- *pDepMode >> rStream;
- }
- else
- rStream << sal_False;
-
- ULONG nCount_l = Count();
- rStream << nCount_l;
- Prj* pPrj = First();
- while (pPrj) {
- *pPrj >> rStream;
- pPrj = Next();
- }
- aMutex.release();
-
- return *this;
-}
-
-/*****************************************************************************/
-Star& Star::operator<< ( SvStream& rStream )
-/*****************************************************************************/
-{
- aMutex.acquire();
- BOOL bFullList;
- rStream >> bFullList;
- if (bFullList)
- {
- rStream >> nStarMode;
- BOOL bDepMode;
- rStream >> bDepMode;
- if (pDepMode)
- pDepMode->CleanUp();
- if (bDepMode)
- {
- if (!pDepMode)
- pDepMode = new SByteStringList();
- *pDepMode << rStream;
- }
- else
- DELETEZ (pDepMode);
-
- }
- ULONG nCount_l;
- rStream >> nCount_l;
- for ( USHORT i = 0; i < nCount_l; i++ ) {
- Prj* pPrj = new Prj();
- *pPrj << rStream;
- pPrj->SetMode(pDepMode);
- if (HasProject (pPrj->GetProjectName())) {
- Prj* pTmpPrj = GetPrj( pPrj->GetProjectName() );
- Replace (pPrj, pTmpPrj);
- delete pTmpPrj;
- }
- else
- Insert (pPrj, LIST_APPEND);
- }
- Expand_Impl();
- aMutex.release();
- return *this;
-}
-
-
-
-//
-// class StarWriter
-//
-
-/*****************************************************************************/
-StarWriter::StarWriter( String aFileName, BOOL bReadComments, USHORT nMode )
-/*****************************************************************************/
- : Star ()
-{
- sFileName = aFileName;
- Read ( aFileName, bReadComments, nMode );
-}
-
-/*****************************************************************************/
-StarWriter::StarWriter( SolarFileList *pSolarFiles, BOOL bReadComments )
-/*****************************************************************************/
- : Star ()
-{
- Read( pSolarFiles, bReadComments );
-}
-
-/*****************************************************************************/
-StarWriter::StarWriter( GenericInformationList *pStandLst, ByteString &rVersion,
- ByteString &rMinor, BOOL bReadComments, BOOL bLocal, const char *pSourceRoot )
-/*****************************************************************************/
- : Star ()
-{
- ByteString sPath( rVersion );
- if ( pSourceRoot )
- sSourceRoot = String::CreateFromAscii( pSourceRoot );
-
-#ifdef UNX
- sPath += "/settings/UNXSOLARLIST";
-#else
- sPath += "/settings/SOLARLIST";
-#endif
- GenericInformation *pInfo_l = pStandLst->GetInfo( sPath, TRUE );
-
- if( pInfo_l && pInfo_l->GetValue().Len()) {
- ByteString sFile( pInfo_l->GetValue());
- if ( bLocal ) {
- IniManager aIniManager;
- aIniManager.ToLocal( sFile );
- }
- String sFileName_l( sFile, RTL_TEXTENCODING_ASCII_US );
- nStarMode = STAR_MODE_SINGLE_PARSE;
- Read( sFileName_l, bReadComments );
- }
- else {
- SolarFileList *pFileList = new SolarFileList();
-
- sPath = rVersion;
- sPath += "/drives";
-
- GenericInformation *pInfo_k = pStandLst->GetInfo( sPath, TRUE );
- if ( pInfo_k && pInfo_k->GetSubList()) {
- GenericInformationList *pDrives = pInfo_k->GetSubList();
- for ( ULONG i = 0; i < pDrives->Count(); i++ ) {
- GenericInformation *pDrive = pDrives->GetObject( i );
- if ( pDrive ) {
- DirEntry aEntry;
- BOOL bOk = FALSE;
- if ( sSourceRoot.Len()) {
- aEntry = DirEntry( sSourceRoot );
- bOk = TRUE;
- }
- else {
-#ifdef UNX
- sPath = "UnixVolume";
- GenericInformation *pUnixVolume = pDrive->GetSubInfo( sPath );
- if ( pUnixVolume ) {
- String sRoot( pUnixVolume->GetValue(), RTL_TEXTENCODING_ASCII_US );
- aEntry = DirEntry( sRoot );
- bOk = TRUE;
- }
-#else
- bOk = TRUE;
- String sRoot( *pDrive, RTL_TEXTENCODING_ASCII_US );
- sRoot += String::CreateFromAscii( "\\" );
- aEntry = DirEntry( sRoot );
-#endif
- }
- if ( bOk ) {
- sPath = "projects";
- GenericInformation *pProjectsKey = pDrive->GetSubInfo( sPath, TRUE );
- if ( pProjectsKey ) {
- if ( !sSourceRoot.Len()) {
- sPath = rVersion;
- sPath += "/settings/PATH";
- GenericInformation *pPath = pStandLst->GetInfo( sPath, TRUE );
- if( pPath ) {
- ByteString sAddPath( pPath->GetValue());
-#ifdef UNX
- sAddPath.SearchAndReplaceAll( "\\", "/" );
-#else
- sAddPath.SearchAndReplaceAll( "/", "\\" );
-#endif
- //If Minor has been set add it to path
- if (rMinor.Len()>0) {
- sAddPath += ".";
- sAddPath += rMinor;
- }
- String ssAddPath( sAddPath, RTL_TEXTENCODING_ASCII_US );
-
- aEntry += DirEntry( ssAddPath );
- }
- }
- sPath = rVersion;
- sPath += "/settings/SHORTPATH";
- GenericInformation *pShortPath = pStandLst->GetInfo( sPath, TRUE );
- BOOL bShortPath = FALSE;
- if (pShortPath && (pShortPath->GetValue() == "_TRUE"))
- bShortPath = TRUE;
- sSourceRoot = aEntry.GetFull();
- GenericInformationList *pProjects = pProjectsKey->GetSubList();
- if ( pProjects ) {
- String sPrjDir( String::CreateFromAscii( "prj" ));
- String sSolarFile( String::CreateFromAscii( "build.lst" ));
-
- GenericInformation * pProject = pProjects->First();
- while (pProject) {
- ByteString sProject( *pProject);
- String ssProject( sProject, RTL_TEXTENCODING_ASCII_US );
-
- DirEntry aPrjEntry( aEntry );
-
- ByteString aDirStr ("Directory");
- GenericInformation * pDir = pProject->GetSubInfo (aDirStr);
- if (pDir) {
- ByteString aDir = pDir->GetValue();
- if (bShortPath)
- aPrjEntry = aEntry;
- else
- aPrjEntry = aEntry.GetPath();
- aPrjEntry += DirEntry(aDir);
- }
-
- aPrjEntry += DirEntry( ssProject );
- aPrjEntry += DirEntry( sPrjDir );
- aPrjEntry += DirEntry( sSolarFile );
-
- pFileList->Insert( new String( aPrjEntry.GetFull()), LIST_APPEND );
-
- ByteString sFile( aPrjEntry.GetFull(), RTL_TEXTENCODING_ASCII_US );
- fprintf( stdout, "%s\n", sFile.GetBuffer());
- pProject = pProjects->Next();
- }
- }
- }
- }
- }
- }
- }
- Read( pFileList, bReadComments );
- }
-}
-
-/*****************************************************************************/
-void StarWriter::CleanUp()
-/*****************************************************************************/
-{
- Expand_Impl();
-}
-
-/*****************************************************************************/
-USHORT StarWriter::Read( String aFileName, BOOL bReadComments, USHORT nMode )
-/*****************************************************************************/
-{
- sFileName = aFileName;
-
- nStarMode = nMode;
-
- ByteString aString;
- aFileList.Insert( new String( aFileName ));
-
- DirEntry aEntry( aFileName );
- aEntry.ToAbs();
- aEntry = aEntry.GetPath().GetPath().GetPath();
- sSourceRoot = aEntry.GetFull();
-
- while( aFileList.Count()) {
- String ssFileName = *aFileList.GetObject(( ULONG ) 0 );
- StarFile* pFile = ReadBuildlist (ssFileName, bReadComments, FALSE);
- aMutex.acquire();
- aLoadedFilesList.Insert( pFile, LIST_APPEND );
- aMutex.release();
- delete aFileList.Remove(( ULONG ) 0 );
- }
- // resolve all dependencies recursive
- Expand_Impl();
-
- // Die gefundenen Abhaengigkeiten rekursiv aufloesen
- Expand_Impl();
- return 0;
-}
-
-/*****************************************************************************/
-USHORT StarWriter::Read( SolarFileList *pSolarFiles, BOOL bReadComments )
-/*****************************************************************************/
-{
- nStarMode = STAR_MODE_MULTIPLE_PARSE;
-
- // this ctor is used by StarBuilder to get the information for the whole workspace
- while( pSolarFiles->Count()) {
- ByteString aString;
- String ssFileName = *pSolarFiles->GetObject(( ULONG ) 0 );
- StarFile* pFile = ReadBuildlist(ssFileName, bReadComments, FALSE);
- aMutex.acquire();
- aLoadedFilesList.Insert( pFile, LIST_APPEND );
- aMutex.release();
- delete pSolarFiles->Remove(( ULONG ) 0 );
- }
- delete pSolarFiles;
-
- Expand_Impl();
- return 0;
-}
-
-/*****************************************************************************/
-USHORT StarWriter::WritePrj( Prj *pPrj, SvFileStream& rStream )
-/*****************************************************************************/
-{
- ByteString aDataString;
- ByteString aTab('\t');
- ByteString aSpace(' ');
- ByteString aEmptyString("");
- SByteStringList* pCmdDepList;
- SByteStringList* pPrjDepList;
-
- CommandData* pCmdData = NULL;
- if ( pPrj->Count() > 0 )
- {
- pCmdData = pPrj->First();
- if ( (pPrjDepList = pPrj->GetDependencies( FALSE )) )
- {
- aDataString = pPrj->GetPreFix();
- aDataString += aTab;
- aDataString += pPrj->GetProjectName();
- aDataString += aTab;
- if ( pPrj->HasFixedDependencies())
- aDataString+= ByteString(":::");
- else if ( pPrj->HasHardDependencies())
- aDataString+= ByteString("::");
- else
- aDataString+= ByteString(":");
- aDataString += aTab;
- for ( USHORT i = 0; i< pPrjDepList->Count(); i++ ) {
- aDataString += *pPrjDepList->GetObject( i );
- aDataString += aSpace;
- }
- aDataString+= "NULL";
-
- rStream.WriteLine( aDataString );
-
- pCmdData = pPrj->Next();
- }
- if ( pCmdData ) {
- do
- {
- if (( aDataString = pCmdData->GetComment()) == aEmptyString )
- {
- aDataString = pPrj->GetPreFix();
- aDataString += aTab;
-
- aDataString+= pCmdData->GetPath();
- aDataString += aTab;
- USHORT nPathLen = pCmdData->GetPath().Len();
- if ( nPathLen < 40 )
- for ( int i = 0; i < 9 - pCmdData->GetPath().Len() / 4 ; i++ )
- aDataString += aTab;
- else
- for ( int i = 0; i < 12 - pCmdData->GetPath().Len() / 4 ; i++ )
- aDataString += aTab;
- aDataString += pCmdData->GetCommandTypeString();
- aDataString += aTab;
- if ( pCmdData->GetCommandType() == COMMAND_GET )
- aDataString += aTab;
- if ( pCmdData->GetCommandPara() == aEmptyString )
- aDataString+= ByteString("-");
- else
- aDataString+= pCmdData->GetCommandPara();
- aDataString += aTab;
- aDataString+= pCmdData->GetOSTypeString();
- if ( pCmdData->GetClientRestriction().Len()) {
- aDataString += ByteString( "," );
- aDataString += pCmdData->GetClientRestriction();
- }
- aDataString += aTab;
- aDataString += pCmdData->GetLogFile();
- aDataString += aSpace;
-
- pCmdDepList = pCmdData->GetDependencies();
- if ( pCmdDepList )
- for ( USHORT i = 0; i< pCmdDepList->Count(); i++ ) {
- aDataString += *pCmdDepList->GetObject( i );
- aDataString += aSpace;
- }
- aDataString += "NULL";
- }
-
- rStream.WriteLine( aDataString );
-
- pCmdData = pPrj->Next();
- } while ( pCmdData );
- }
- }
- return 0;
-}
-
-/*****************************************************************************/
-USHORT StarWriter::Write( String aFileName )
-/*****************************************************************************/
-{
- sFileName = aFileName;
-
- FileStat::SetReadOnlyFlag( DirEntry( aFileName ), FALSE );
-
- SvFileStream aFileStream;
-
- aFileStream.Open( aFileName, STREAM_WRITE | STREAM_TRUNC);
- if ( !aFileStream.IsOpen() && aFileIOErrorHdl.IsSet()) {
- String sError( String::CreateFromAscii( "Error: Unable to open \"" ));
- sError += aFileName;
- sError += String::CreateFromAscii( "for writing!" );
- aFileIOErrorHdl.Call( &sError );
- }
-
- if ( Count() > 0 )
- {
- Prj* pPrj = First();
- do
- {
- WritePrj( pPrj, aFileStream );
- pPrj = Next();
- } while ( pPrj );
- }
-
- aFileStream.Close();
-
- return 0;
-}
-
-/*****************************************************************************/
-USHORT StarWriter::WriteMultiple( String rSourceRoot )
-/*****************************************************************************/
-{
- sSourceRoot = rSourceRoot;
-
- if ( Count() > 0 )
- {
- String sPrjDir( String::CreateFromAscii( "prj" ));
- String sSolarFile( String::CreateFromAscii( "build.lst" ));
-
- Prj* pPrj = First();
- do
- {
- String sName( pPrj->GetProjectName(), RTL_TEXTENCODING_ASCII_US );
-
- DirEntry aEntry( rSourceRoot );
- aEntry += DirEntry( sName );
- aEntry += DirEntry( sPrjDir );
- aEntry += DirEntry( sSolarFile );
-
- FileStat::SetReadOnlyFlag( aEntry, FALSE );
-
- SvFileStream aFileStream;
- aFileStream.Open( aEntry.GetFull(), STREAM_WRITE | STREAM_TRUNC);
-
- if ( !aFileStream.IsOpen() && aFileIOErrorHdl.IsSet()) {
- String sError( String::CreateFromAscii( "Error: Unable to open \"" ));
- sError += aEntry.GetFull();
- sError += String::CreateFromAscii( "for writing!" );
- aFileIOErrorHdl.Call( &sError );
- }
-
- WritePrj( pPrj, aFileStream );
-
- aFileStream.Close();
-
- pPrj = Next();
- } while ( pPrj );
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-void StarWriter::InsertTokenLine ( const ByteString& rTokenLine )
-/*****************************************************************************/
-{
- ByteString sProjectName = rTokenLine.GetToken(1,'\t');
- Prj* pPrj = GetPrj (sProjectName); // 0, if Prj not found;
- Star::InsertTokenLine ( rTokenLine, &pPrj, sProjectName, sal_False );
-}
-
-/*****************************************************************************/
-BOOL StarWriter::InsertProject ( Prj* /*pNewPrj*/ )
-/*****************************************************************************/
-{
- return FALSE;
-}
-
-/*****************************************************************************/
-Prj* StarWriter::RemoveProject ( ByteString aProjectName )
-/*****************************************************************************/
-{
- ULONG nCount_l = Count();
- Prj* pPrj;
- Prj* pPrjFound = NULL;
- SByteStringList* pPrjDeps;
-
- for ( USHORT i = 0; i < nCount_l; i++ )
- {
- pPrj = GetObject( i );
- if ( pPrj->GetProjectName() == aProjectName )
- pPrjFound = pPrj;
- else
- {
- pPrjDeps = pPrj->GetDependencies( FALSE );
- if ( pPrjDeps )
- {
- ByteString* pString;
- ULONG nPrjDepsCount = pPrjDeps->Count();
- for ( ULONG j = nPrjDepsCount; j > 0; j-- )
- {
- pString = pPrjDeps->GetObject( j - 1 );
- if ( pString->GetToken( 0, '.') == aProjectName )
- pPrjDeps->Remove( pString );
- }
- }
- }
- }
-
- Remove( pPrjFound );
-
- return pPrjFound;
-}
-
-//
-// class StarFile
-//
-
-/*****************************************************************************/
-StarFile::StarFile( const String &rFile )
-/*****************************************************************************/
- : aFileName( rFile )
-{
- DirEntry aEntry( aFileName );
- if ( aEntry.Exists()) {
- bExists = TRUE;
- FileStat aStat( aEntry );
- aDate = aStat.DateModified();
- aTime = aStat.TimeModified();
- aDateCreated = aStat.DateCreated();
- aTimeCreated = aStat.TimeCreated();
- }
- else
- bExists = FALSE;
-}
-
-/*****************************************************************************/
-BOOL StarFile::NeedsUpdate()
-/*****************************************************************************/
-{
- DirEntry aEntry( aFileName );
- if ( aEntry.Exists()) {
- if ( !bExists ) {
- bExists = TRUE;
- return TRUE;
- }
- FileStat aStat( aEntry );
- if (( aStat.DateModified() != aDate ) || ( aStat.TimeModified() != aTime )
- || ( aStat.DateCreated() != aDateCreated ) || ( aStat.TimeCreated() != aTimeCreated ))
- return TRUE;
- }
- return FALSE;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/bootstrp/prodmap.cxx b/soldep/bootstrp/prodmap.cxx
deleted file mode 100644
index 928ac6f3c0fc..000000000000
--- a/soldep/bootstrp/prodmap.cxx
+++ /dev/null
@@ -1,519 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
- /*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include "prodmap.hxx"
-#include <tools/geninfo.hxx>
-#include <tools/fsys.hxx>
-#include "minormk.hxx"
-
-#include <stdio.h>
-
-#define PRODUCT_KEY "TARGETDESCRIPTION/PRODUCTS"
-#define DEPENDS_ON_KEY "TARGETDESCRIPTION/DEPENDSON"
-#define BASED_ON_KEY "TARGETDESCRIPTION/BASEDON"
-
-//
-// class ProductMapper
-//
-
-/*****************************************************************************/
-ProductMapper::ProductMapper()
-/*****************************************************************************/
- : pVersionList( NULL ),
- pProductList( NULL )
-{
-}
-
-/*****************************************************************************/
-ProductMapper::ProductMapper( GenericInformationList *pVerList )
-/*****************************************************************************/
- : pVersionList( pVerList ),
- pProductList( NULL )
-{
- if ( pVerList )
- CreateProductList( pVerList );
-}
-
-/*****************************************************************************/
-ProductMapper::~ProductMapper()
-/*****************************************************************************/
-{
- delete pProductList;
-}
-
-/*****************************************************************************/
-void ProductMapper::CreateProductList( GenericInformationList *pVerList )
-/*****************************************************************************/
-{
- /*
- creates a list of the following format:
-
- ProductName Workspace // 6.0 Final SRC641
- { // {
- DependsOn // DependsOn
- { // {
- product1 //
- product2 //
- ... //
- } //
- BasedOn //
- { //
- productX //
- productY //
- ... //
- } //
- } //
- */
-
- delete pProductList;
- pProductList = NULL;
-
- pVersionList = pVerList;
-
- if ( pVersionList ) {
- ByteString sProductKey( PRODUCT_KEY );
- ByteString sDependsOnKey( DEPENDS_ON_KEY );
- ByteString sBasedOnKey( BASED_ON_KEY );
-
- for ( ULONG i = 0; i < pVersionList->Count(); i++ ) {
- GenericInformation *pVersion = pVersionList->GetObject( i );
-
- GenericInformation *pProducts = pVersion->GetSubInfo( sProductKey, TRUE );
- if ( pProducts ) {
- ByteString sProducts = pProducts->GetValue();
-
- ByteString sDependsOn;
- GenericInformation *pDependsOn = pVersion->GetSubInfo( sDependsOnKey, TRUE );
- if ( pDependsOn )
- sDependsOn = pDependsOn->GetValue();
-
- ByteString sBasedOn;
- GenericInformation *pBasedOn = pVersion->GetSubInfo( sBasedOnKey, TRUE );
- if ( pBasedOn )
- sBasedOn = pBasedOn->GetValue();
-
- for ( USHORT x = 0; x < sProducts.GetTokenCount( ';' ); x++ ) {
- ByteString sProduct( sProducts.GetToken( x, ';' ));
- if( sProduct.Len()) {
- if ( !pProductList )
- pProductList = new GenericInformationList();
-
- pProductList->InsertInfo( sProduct, *pVersion, TRUE, TRUE );
-
- for ( USHORT y = 0; y < sDependsOn.GetTokenCount( ';' ); y++ ) {
- ByteString sDependsOnKey_l = sProduct;
- sDependsOnKey_l += "/DependsOn/";
- sDependsOnKey_l += sDependsOn.GetToken( y, ';' );
-
- pProductList->InsertInfo( sDependsOnKey_l, "", TRUE, TRUE );
- }
- for ( USHORT z = 0; z < sBasedOn.GetTokenCount( ';' ); z++ ) {
- ByteString sBasedOnKey_l = sProduct;
- sBasedOnKey_l += "/BasedOn/";
- sBasedOnKey_l += sBasedOn.GetToken( z, ';' );
-
- pProductList->InsertInfo( sBasedOnKey_l, "", TRUE, TRUE );
- }
- }
- }
- }
- }
- }
-}
-
-/*****************************************************************************/
-USHORT ProductMapper::GetProductInformation(
- const ByteString &rProduct, GenericInformation *& pProductInfo )
-/*****************************************************************************/
-{
- pProductInfo = NULL;
-
- if ( !pVersionList )
- return PRODUCT_MAPPER_NO_VERSION_INFORMATION;
-
- if ( !pProductList )
- return PRODUCT_MAPPER_NO_PRODUCT;
-
- ByteString sProductKey( rProduct );
- pProductInfo = pProductList->GetInfo( sProductKey, TRUE );
-
- if ( !pProductInfo )
- return PRODUCT_MAPPER_NO_PRODUCT;
-
- return PRODUCT_MAPPER_OK;
-}
-
-/*****************************************************************************/
-USHORT ProductMapper::PrintDependentTargets(
- const ByteString &rProduct, USHORT nLevel )
-/*****************************************************************************/
-{
- GenericInformation *pProductInfo;
-
- USHORT nReturn = GetProductInformation( rProduct, pProductInfo );
-
- if ( nReturn == PRODUCT_MAPPER_OK ) {
- for ( USHORT i = 0; i < nLevel; i++ )
- fprintf( stdout, " " );
- fprintf( stdout, "%s (%s)\n", pProductInfo->GetBuffer(),
- pProductInfo->GetValue().GetBuffer());
- aPrintedList.PutString( new ByteString( *pProductInfo ));
-
- for ( ULONG j = 0; j < pProductList->Count(); j++ ) {
- GenericInformation *pCandidate = pProductList->GetObject( j );
- ByteString sKey( "DEPENDSON/" );
- sKey += rProduct;
- GenericInformation *pDependsOn = pCandidate->GetSubInfo( sKey, TRUE );
- if ( pDependsOn )
- PrintDependentTargets( *pCandidate, nLevel + 1 );
- }
- if ( !nLevel ) {
- ByteString sKey( "BASEDON" );
- GenericInformation *pBasedOn = pProductInfo->GetSubInfo( sKey );
- if ( pBasedOn ) {
- GenericInformationList *pBases = pBasedOn->GetSubList();
- if ( pBases ) {
- for ( ULONG k = 0; k < pBases->Count(); k++ ) {
- aBaseList.PutString( new ByteString( *pBases->GetObject( k )));
- }
- }
- }
- }
- }
-
- return nReturn;
-}
-
-/*****************************************************************************/
-USHORT ProductMapper::PrintAndDeleteBaseList()
-/*****************************************************************************/
-{
- if ( aBaseList.Count()) {
- fprintf( stdout, "\nbased on\n" );
- while ( aBaseList.Count()) {
- ByteString sProduct( *aBaseList.GetObject(( ULONG ) 0 ));
- if ( aPrintedList.IsString( aBaseList.GetObject(( ULONG ) 0 )) == NOT_THERE ) {
- aPrintedList.PutString( aBaseList.GetObject(( ULONG ) 0 ));
- PrintDependentTargets( sProduct );
- }
- else
- delete aBaseList.GetObject(( ULONG ) 0 );
-
- aBaseList.Remove(( ULONG ) 0 );
- }
- while ( aPrintedList.Count())
- delete aPrintedList.Remove(( ULONG ) 0 );
-
- fprintf( stdout, "\n" );
- }
- return PRODUCT_MAPPER_OK;
-}
-
-/*****************************************************************************/
-USHORT ProductMapper::PrintDependencies( const ByteString &rProduct )
-/*****************************************************************************/
-{
- USHORT nResult = PrintDependentTargets( rProduct );
- PrintAndDeleteBaseList();
- return nResult;
-}
-
-/*****************************************************************************/
-USHORT ProductMapper::PrintProductList()
-/*****************************************************************************/
-{
- if ( !pVersionList )
- return PRODUCT_MAPPER_NO_VERSION_INFORMATION;
-
- if ( !pProductList || !pProductList->Count())
- return PRODUCT_MAPPER_NO_PRODUCT;
-
- if ( pProductList->Count()) {
- for ( ULONG i = 0; i < pProductList->Count(); i++ )
- fprintf( stdout, "%s (%s)\n",
- pProductList->GetObject( i )->GetBuffer(),
- pProductList->GetObject( i )->GetValue().GetBuffer());
- fprintf( stdout, "\n" );
- }
-
- return PRODUCT_MAPPER_OK;
-}
-
-/*****************************************************************************/
-SByteStringList *ProductMapper::GetMinorList(
- const ByteString &rVersion, const ByteString &rEnvironment )
-/*****************************************************************************/
-{
- SByteStringList *pList = NULL;
-
- if ( pVersionList ) {
- String sRoot( GetVersionRoot( pVersionList, rVersion ));
- if ( sRoot.Len()) {
- DirEntry aEntry( sRoot );
- aEntry += DirEntry( String( rEnvironment, RTL_TEXTENCODING_ASCII_US ));
- String sWildcard( String::CreateFromAscii( "inc.*" ));
- aEntry += DirEntry( sWildcard );
-
- Dir aDir( aEntry, FSYS_KIND_DIR );
- for ( USHORT i = 0; i < aDir.Count(); i++ ) {
- ByteString sInc( aDir[ i ].GetName(), RTL_TEXTENCODING_ASCII_US );
- if ( sInc.GetTokenCount( '.' ) > 1 ) {
- if ( !pList )
- pList = new SByteStringList();
- pList->PutString( new ByteString( sInc.GetToken( 1, '.' )));
- }
- }
- }
- }
- return pList;
-}
-
-/*****************************************************************************/
-String ProductMapper::GetVersionRoot(
- GenericInformationList *pList, const ByteString &rVersion )
-/*****************************************************************************/
-{
- ByteString sKey( rVersion );
- GenericInformation *pVersion = pList->GetInfo( sKey );
- if ( pVersion ) {
-#ifdef UNX
- sKey = "drives/o:/unixvolume";
- GenericInformation *pUnixVolume = pVersion->GetSubInfo( sKey, TRUE );
- ByteString sPath;
- if ( pUnixVolume )
- sPath = pUnixVolume->GetValue();
- sPath += "/";
-#else
- ByteString sPath( "o:\\" );
-#endif
- sKey = "settings/path";
- GenericInformation *pPath = pVersion->GetSubInfo( sKey, TRUE );
- if ( pPath ) {
- sPath += pPath->GetValue().GetToken( 0, '\\' );
- sPath += "/";
- }
-#ifdef UNX
- sPath.SearchAndReplaceAll( "\\", "/" );
- while( sPath.SearchAndReplace( "//", "/" ) != STRING_NOTFOUND ) {};
-#else
- sPath.SearchAndReplaceAll( "/", "\\" );
- while( sPath.SearchAndReplace( "\\\\", "\\" ) != STRING_NOTFOUND ) {};
-#endif
-
- return String( sPath, RTL_TEXTENCODING_ASCII_US );
- }
- return String();
-}
-
-/*****************************************************************************/
-BaseProductList *ProductMapper::GetBases(
- GenericInformation *pProductInfo, USHORT nLevel,
- BaseProductList *pBases )
-/*****************************************************************************/
-{
- if ( !pBases )
- pBases = new BaseProductList();
-
- if ( pProductInfo ) {
- ByteString sCandidate( *pProductInfo );
- sCandidate += " (";
- sCandidate += pProductInfo->GetValue();
- sCandidate += ")";
-
- ByteString sKey( "BASEDON" );
- GenericInformation *pBasedOn = pProductInfo->GetSubInfo( sKey );
- if ( pBasedOn ) {
- GenericInformationList *pBasesInfo = pBasedOn->GetSubList();
- if ( pBasesInfo ) {
- for ( ULONG k = 0; k < pBasesInfo->Count(); k++ ) {
- GenericInformation *pBaseProduct;
- if ( GetProductInformation( *pBasesInfo->GetObject( k ), pBaseProduct ) == PRODUCT_MAPPER_OK )
- GetBases( pBaseProduct, ++ nLevel, pBases );
- }
- }
- }
- BOOL bFound = FALSE;
- ByteString sUpperCandidate( sCandidate );
- sUpperCandidate.ToUpperAscii();
- for ( USHORT i = 0; i < pBases->Count() && !bFound; i++ ) {
- ByteString sTest( *pBases->GetObject( i ));
- if ( sTest.ToUpperAscii() == sUpperCandidate )
- bFound = TRUE;
- }
- if ( !bFound )
- pBases->Insert( new ByteString( sCandidate ), ( ULONG ) 0 );
- }
- return pBases;
-}
-
-/*****************************************************************************/
-USHORT ProductMapper::PrintMinorList(
- const ByteString rProduct, const ByteString rEnvironment )
-/*****************************************************************************/
-{
- if ( !pVersionList )
- return PRODUCT_MAPPER_NO_VERSION_INFORMATION;
-
- if ( !pProductList || !pProductList->Count())
- return PRODUCT_MAPPER_NO_PRODUCT;
-
- GenericInformation *pProductInfo;
- GetProductInformation( rProduct, pProductInfo );
- if ( !pProductInfo )
- return PRODUCT_MAPPER_NO_PRODUCT;
-
- BaseProductList *pBases = GetBases( pProductInfo );
- if ( pBases->Count()) {
- if ( pBases->Count() > 1 )
- fprintf( stdout, "Product \"%s\" based on ", pBases->GetObject(( ULONG ) 0 )->GetBuffer());
- else
- fprintf( stdout, "Product \"%s\" based on no other products", pBases->GetObject(( ULONG ) 0 )->GetBuffer());
-
- for ( ULONG i = 1; i < pBases->Count(); i++ ) {
- fprintf( stdout, "\"%s\"", pBases->GetObject( i )->GetBuffer());
- if ( i < pBases->Count() - 1 )
- fprintf( stdout, ", " );
- }
- fprintf( stdout, "\n\n" );
- }
- USHORT nResult = PRODUCT_MAPPER_OK;
-
- if ( rEnvironment.Len())
- nResult = PrintSingleMinorList( pProductInfo, pBases, rEnvironment );
- else {
- ByteString sEnvKey( pProductInfo->GetValue());
- sEnvKey += "/Environments";
-
- GenericInformation *pEnvironmentInfo = pVersionList->GetInfo( sEnvKey, TRUE );
- if ( pEnvironmentInfo ) {
- GenericInformationList *pEnvironmentList = pEnvironmentInfo->GetSubList();
- if ( pEnvironmentList ) {
- for ( ULONG i = 0; i < pEnvironmentList->Count(); i++ ) {
- USHORT nTmp = PrintSingleMinorList( pProductInfo, pBases, *pEnvironmentList->GetObject( i ));
- if ( nTmp != PRODUCT_MAPPER_OK )
- nResult = nTmp;
- }
- }
- }
- }
-
- for ( ULONG m = 0; m < pBases->Count(); m++ )
- delete pBases->GetObject( m );
- delete pBases;
-
- return nResult;
-}
-
-/*****************************************************************************/
-USHORT ProductMapper::PrintSingleMinorList(
- GenericInformation *pProductInfo, BaseProductList *pBases,
- const ByteString rEnvironment )
-/*****************************************************************************/
-{
- DirEntry aRoot( GetVersionRoot( pVersionList, pProductInfo->GetValue()));
- aRoot += DirEntry( String( rEnvironment, RTL_TEXTENCODING_ASCII_US ));
- if ( !aRoot.Exists())
- return PRODUCT_MAPPER_OK;
-
- SByteStringList *pMinors = GetMinorList( pProductInfo->GetValue(), rEnvironment );
- if ( !pMinors )
- pMinors = new SByteStringList();
- pMinors->Insert( new ByteString( "" ), LIST_APPEND );
-
- SByteStringList aOutputList;
- BOOL bUnknownMinor = FALSE;
- for ( ULONG i = 0; i < pMinors->Count(); i++ ) {
- ByteString sOutput;
- ByteString sProductVersion;
-
- for ( ULONG j = 0; j < pBases->Count(); j++ ) {
- ByteString sCurProduct( *pBases->GetObject( j ));
- ByteString sVersion( sCurProduct.GetToken( sCurProduct.GetTokenCount( '(' ) - 1, '(' ).GetToken( 0, ')' ));
- if ( !j )
- sProductVersion = sVersion;
-
- MinorMk *pMinorMk = new MinorMk(
- pVersionList, sProductVersion, sVersion, rEnvironment, *pMinors->GetObject( i ));
-
- ByteString sMinor( pMinorMk->GetLastMinor().GetBuffer());
- if ( !sMinor.Len()) {
- sMinor = "!";
- bUnknownMinor = TRUE;
- }
- if ( j == 0 ) {
- sOutput += pMinorMk->GetBuildNr();
- sOutput += " ";
-
- if ( i == pMinors->Count() - 1 )
- sOutput += "flat: ";
- else
- sOutput += " ";
- }
- sOutput += sVersion;
- sOutput += ".";
- sOutput += sMinor;
- sOutput += "(";
- sOutput += pMinorMk->GetBuildNr();
- sOutput += ") ";
- }
- aOutputList.PutString( new ByteString( sOutput ));
- }
- ByteString sOldMinor;
-
- if ( aOutputList.Count())
- fprintf( stdout, "Available builds on %s:\n", rEnvironment.GetBuffer());
-
- for ( ULONG o = 0; o < aOutputList.Count(); o++ ) {
- ByteString sOutput( *aOutputList.GetObject( o ));
- sOutput = sOutput.Copy( sOutput.GetToken( 0, ' ' ).Len() + 1 );
-
- ByteString sCurMinor( sOutput.GetToken( 1, '.' ).GetToken( 0, '(' ));
- if ( sOldMinor.Len() && sCurMinor < sOldMinor ) {
- fprintf( stdout, " ----------\n" );
- }
- sOldMinor = sCurMinor;
-
- fprintf( stdout, "%s\n", sOutput.GetBuffer());
- delete aOutputList.GetObject( o );
- }
- if ( bUnknownMinor )
- fprintf( stdout, "Symbol ! indcates that at least one minor could not be found\n\n" );
- else if ( aOutputList.Count())
- fprintf( stdout, "\n" );
-
- for ( ULONG l = 0; l < pMinors->Count(); l++ )
- delete pMinors->GetObject( l );
- delete pMinors;
-
- return PRODUCT_MAPPER_OK;
-}
-
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/appdef.hxx b/soldep/inc/appdef.hxx
deleted file mode 100644
index ad7c02939cb0..000000000000
--- a/soldep/inc/appdef.hxx
+++ /dev/null
@@ -1,164 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _MHAPPDEF_HXX
-#define _MHAPPDEF_HXX
-
-
-#ifdef UNX
-#define DEFAULT_INI_ROOT "/so/env"
-#define DEFAULT_BS_ROOT "/so/env/b_server"
-#define DEFAULT_EIS_ROOT "/so/env/merge"
-#define PATH_SEPARATOR '/'
-#define S_PATH_SEPARATOR "/"
-#else
-#define DEFAULT_INI_ROOT "r:"
-#define DEFAULT_BS_ROOT "n:"
-#define DEFAULT_EIS_ROOT "w:"
-#define PATH_SEPARATOR '\\'
-#define S_PATH_SEPARATOR "\\"
-#endif
-
-#define _INI_DRV DEFAULT_INI_ROOT
-#define B_SERVER_ROOT DEFAULT_BS_ROOT
-#define DEFAULT_INI_FILE B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "b_server.ini"
-#define BINARYROOT B_SERVER_ROOT S_PATH_SEPARATOR "bin"
-#define _JOB_DIR B_SERVER_ROOT S_PATH_SEPARATOR "server" S_PATH_SEPARATOR "db"
-#define _INJOB_DIR B_SERVER_ROOT S_PATH_SEPARATOR "server" S_PATH_SEPARATOR "dbin"
-#define _OUTJOB_DIR B_SERVER_ROOT S_PATH_SEPARATOR "server" S_PATH_SEPARATOR "dbout"
-#define _ERRJOB_DIR B_SERVER_ROOT S_PATH_SEPARATOR "server" S_PATH_SEPARATOR "dberr"
-#define _BUILDPATTERN_DIR B_SERVER_ROOT S_PATH_SEPARATOR "pattern"
-#define _COMMENT_DIR B_SERVER_ROOT S_PATH_SEPARATOR "comment"
-#define _SOLARLIST B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "solar.lst"
-#define _DEF_STAND_LIST B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "stand.lst"
-#define _DEF_DEFAULT_LIST B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "default.lst"
-#define _DEF_SSOLARINI B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "ssolar.ini"
-#define _DEF_SSCOMMON B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "ssolar.cmn"
-#define _SERVER_IDENT_FLAG B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "server.id"
-#define _CUSTOMJOBINI B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "custom.ini"
-#define _BUILDCOMMANDINI B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "bcommand.ini"
-#define _DATABASEINI B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "database.ini"
-#define _ZNINI B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "bszn.ini"
-#define _ERRORINFOFILE B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "errinf.lst"
-#define _REGEXPINFOFILE B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "regexp.lst"
-#define _POSITIVERRORINFOFILE B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "perrinf.lst"
-#define _POSITIVREGEXPINFOFILE B_SERVER_ROOT S_PATH_SEPARATOR "config" S_PATH_SEPARATOR "pregexp.lst"
-#define _INIROOT B_SERVER_ROOT S_PATH_SEPARATOR "config"
-#define _INIROOT_OLD B_SERVER_ROOT S_PATH_SEPARATOR "config"
-#define _ENV_DIR B_SERVER_ROOT S_PATH_SEPARATOR "config"
-#define _REDIRECTIONPATH B_SERVER_ROOT S_PATH_SEPARATOR "redir"
-#define _ZLOGSPATH B_SERVER_ROOT S_PATH_SEPARATOR "zlogs"
-#define DEFAULT_PROTPATH B_SERVER_ROOT S_PATH_SEPARATOR "filesize"
-#define _INI_UNC "\\\\jumbo2.germany.sun.com\\R-Laufwerk"
-#define _INI_UNC_OLD "\\\\jumbo2.germany.sun.com\\R-Laufwerk"
-#define LOG_DIR B_SERVER_ROOT S_PATH_SEPARATOR "log"
-
-#define _REDIRECTIONSIZE "10000"
-#define _EISPATH DEFAULT_EIS_ROOT S_PATH_SEPARATOR "EIS"
-
-#define _BUILDEVENTPATH _EISPATH S_PATH_SEPARATOR "EventImport"
-
-#define _WRITE_LOGFILES "1"
-#define _WRITE_JOBFILES "1"
-
-#define _VERSION_WINDOW "0"
-#define _JOB_WINDOW "0"
-#define _APPWIN_MAXIMIZED "0"
-#define _CONTEXT_TBOX "0"
-
-#define _COLOR_DROPED COL_GRAY
-#define _COLOR_WAIT COL_BLUE
-#define _COLOR_BUILD COL_GREEN
-#define _COLOR_ERROR COL_RED
-#define _COLOR_BUILDERROR COL_MAGENTA
-#define _COLOR_OK COL_BLACK
-#define _COLOR_DELIVERED COL_CYAN
-#define _COLOR_MASTERSTOP COL_LIGHTRED
-
-#define _ASYNCHRON "1"
-
-// folowing defines are used to write filesize information for binaries
-#define OH_GOTT "*"
-#define UNX_DEFAULT_FILESIZES "bin/" OH_GOTT ".bin;bin/" OH_GOTT ".res;bin/" OH_GOTT ".tlb;lib/" OH_GOTT ".so"
-#define DOS_DEFAULT_FILESIZES "bin\\*.exe;bin\\*.res;bin\\*.dll;bin\\*.tlb"
-
-#ifdef UNX
-#define DEFAULT_FILESIZES UNX_DEFAULT_FILESIZES
-#else
-#define DEFAULT_FILESIZES DOS_DEFAULT_FILESIZES
-#endif
-
-/** States for BuildServer projects and directories
-*/
-#ifndef BuildStatus
-#define BuildStatus USHORT
-#endif
-#define BS_DROPED 0 /// project is waiting for dispatching
-#define BS_BUILD 1 /// project/directory is building
-#define BS_WAIT 2 /// project/directory is waiting for building
-#define BS_OK 3 /// project/directory builded whithout errors
-#define BS_BUILDANDERROR 4 /// project is in build, any errors accured
-#define BS_ERROR 5 /// project/directory builded with errors
-#define BS_NON 6 /// no state is set
-#define BS_DELIVERED 7 /// project was delivered without errors
-#define BS_DELIVEREDANDERROR 8 /// project was delivered with errors
-#define BS_FIXED 9 /// errors are fixed
-#define BS_NOTDELIVERED 10 /// project is ready to deliver
-#define BS_BUILD_PRIO 11 /// build projects with prio
-#define BS_BUILD_ORDER 12 /// build project in correct order
-#define BS_BUILD_DEPEND 13 /// build projects using dependencies
-#define BS_BUILD_DELIVER 14 /// build projects using dependencies and deliver builded projects
-#define BS_BUILD_NORMAL 15 /// build projects without using dependencies
-#define BS_BUILD_DELIVER_NO_DEPEND 16 /// build projects without using dependencies and deliver builded projects
-#define BS_BUILD_DOUBLE_LOG 17 /// error with double log names
-
-#define LF_STARDIV "StarDivision"
-#define LF_UNIX "UNIX"
-#define LF_MAC "Macintosh"
-#define LF_OS2 "OS/2"
-
-// path conversion
-const char* GetDefStandList();
-const char* GetIniRoot();
-const char* GetIniRootOld();
-const char* GetSSolarIni();
-const char* GetSSCommon();
-const char* GetBServerRoot();
-
-const char* GetEnv( const char *pVar );
-const char* GetEnv( const char *pVar, const char *pDefault );
-
-#define CONVERT_R_TO_HOSTFSYS( sPath ) { sPath.ToLowerAscii().SearchAndReplace( "r:", GetEnv("ISERVERBASE", DEFAULT_INI_ROOT ) ); sPath.SearchAndReplaceAll( "\\", S_PATH_SEPARATOR ); }
-
-// Only for usage inside IServer!
-#define ISERVER_DEF_STAND_LIST "r:\\b_server\\config\\stand.lst"
-#define ISERVER_DEF_DEPEND_LIST "r:\\b_server\\config\\depend.lst"
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/dtsodcmp.hrc b/soldep/inc/dtsodcmp.hrc
deleted file mode 100644
index bfeca821562b..000000000000
--- a/soldep/inc/dtsodcmp.hrc
+++ /dev/null
@@ -1,99 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _DTSODCMP_HRC
-#define _DTSODCMP_HRC
-
-//========================================================================
-// Bereiche
-#define RID_SD_STRING_START 26000
-#define RID_SD_MENU_START 27000
-#define RID_SD_CONTEXTMENU_START 28500
-#define RID_SD_TOOLBOX_START 29000
-#define RID_SD_WINDOW_START 30000
-#define RID_SD_STATUSBAR_START 30500
-#define RID_SD_IMAGE_START 31000
-#define RID_SD_BITMAP_START 31250
-#define RID_SD_DIALOG_START 31500
-#define RID_SD_DEPPER_DIALOG_START 31750
-// end is at 31999
-
-#define SID_START 0
-
-//========================================================================
-// Window-Ids
-
-//========================================================================
-// Menu-Ids
-#define RID_SD_MENU_APP (RID_SD_MENU_START)
-#define RID_SD_MENU_FILE (RID_SD_MENU_START + 1)
-#define RID_SD_MENU_FILE_NEW (RID_SD_MENU_START + 2)
-#define RID_SD_MENU_FILE_OPEN (RID_SD_MENU_START + 3)
-#define RID_SD_MENU_FILE_SAVE (RID_SD_MENU_START + 4)
-#define RID_SD_MENU_FILE_SAVEAS (RID_SD_MENU_START + 5)
-#define RID_SD_MENU_FILE_EXIT (RID_SD_MENU_START + 6)
-#define RID_SD_MENU_NEW_OBJECT (RID_SD_MENU_START + 7)
-#define RID_SD_MENU_REMOVE_LAST (RID_SD_MENU_START + 8)
-#define RID_SD_MENU_AUTO (RID_SD_MENU_START + 9)
-#define RID_SD_MENU_RUN_TEST (RID_SD_MENU_START + 10)
-
-//========================================================================
-// ContextMenu-Ids
-
-//========================================================================
-// ToolBox-Ids
-#define RID_SD_TOOLBOX_APP (RID_SD_TOOLBOX_START)
-#define RID_SD_TOOLBOX_FILE_NEW (RID_SD_TOOLBOX_START + 1)
-#define RID_SD_TOOLBOX_FILE_OPEN (RID_SD_TOOLBOX_START + 2)
-#define RID_SD_TOOLBOX_FILE_SAVE (RID_SD_TOOLBOX_START + 3)
-
-
-//========================================================================
-// StatusBar-Ids
-
-//========================================================================
-// Image-Ids
-#define RID_SD_CP_IMAGE (RID_SD_IMAGE_START)
-
-//========================================================================
-// Dialog-Ids
-#define RID_SD_DIALOG_NEWPROJECT (RID_SD_DEPPER_DIALOG_START)
-#define RID_SD_DIALOG_NEWDIRECTORY (RID_SD_DEPPER_DIALOG_START + 1)
-#define RID_SD_DIALOG_HELP (RID_SD_DEPPER_DIALOG_START + 2)
-
-//========================================================================
-// String-Ids
-#define RID_SD_CP_NAME (RID_SD_STRING_START)
-
-//========================================================================
-// Slot-Ids
-
-//========================================================================
-// Format-Ids
-
-#endif //_DTSODCMP_HRC
-
diff --git a/soldep/inc/minormk.hxx b/soldep/inc/minormk.hxx
deleted file mode 100644
index ce1b4192e850..000000000000
--- a/soldep/inc/minormk.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <tools/stream.hxx>
-
-class GenericInformationList;
-
-//
-// class MinorMk
-//
-
-class MinorMk : public SvFileStream
-{
-private:
- ByteString sRSCVERSION;
- ByteString sRSCREVISION;
- ByteString sBUILD;
- ByteString sLAST_MINOR;
-
- BOOL bExists;
-
- void ReadMinorMk( const String &rFileName );
-
-public:
- MinorMk(
- GenericInformationList *pList,
- const ByteString &rVersion,
- const ByteString &rWorkStamp,
- const ByteString &rEnvironment,
- const ByteString &rMinor
- );
- MinorMk(
- const ByteString &rMinor,
- const ByteString &rEnvironment
- );
- MinorMk(
- GenericInformationList *pList,
- const ByteString rVersion
- );
- ~MinorMk();
-
- ByteString GetRscVersion()
- { return sRSCVERSION; }
- ByteString GetRscRevision()
- { return sRSCREVISION; }
- ByteString GetBuildNr()
- { return sBUILD; }
- ByteString GetLastMinor()
- { return sLAST_MINOR; }
-
- BOOL Exists()
- { return bExists; }
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/prodmap.hxx b/soldep/inc/prodmap.hxx
deleted file mode 100644
index eb080d247192..000000000000
--- a/soldep/inc/prodmap.hxx
+++ /dev/null
@@ -1,86 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
- /*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef PRODUCT_MAPPER_HXX
-#define PRODUCT_MAPPER_HXX
-
-#include <bootstrp/sstring.hxx>
-
-class GenericInformation;
-class GenericInformationList;
-
-DECLARE_LIST( BaseProductList, ByteString * )
-
-//
-// class ProductMapper
-//
-
-#define PRODUCT_MAPPER_OK 0x0000
-#define PRODUCT_MAPPER_NO_PRODUCT 0x0001
-#define PRODUCT_MAPPER_NO_VERSION_INFORMATION 0x0002
-
-class ProductMapper
-{
-private:
- GenericInformationList *pVersionList;
- GenericInformationList *pProductList;
-
- SByteStringList aBaseList;
- SByteStringList aPrintedList;
-
- USHORT PrintDependentTargets( const ByteString &rProduct, USHORT nLevel = 0 );
- USHORT PrintAndDeleteBaseList();
-
- SByteStringList *GetMinorList( const ByteString &rVersion, const ByteString &rEnvironment );
- BaseProductList *GetBases( GenericInformation *pProductInfo, USHORT nLevel = 0, BaseProductList *pBases = NULL );
-
- USHORT PrintSingleMinorList( GenericInformation *pProductInfo, BaseProductList *pBases, const ByteString rEnvironment );
-
-public:
- ProductMapper();
- ProductMapper( GenericInformationList *pVerList );
-
- ~ProductMapper();
-
- void CreateProductList( GenericInformationList *pVerList );
-
- USHORT GetProductInformation( const ByteString &rProduct, GenericInformation *& pProductInfo );
- USHORT PrintDependencies( const ByteString &rProduct );
- USHORT PrintProductList();
-
- USHORT PrintMinorList( const ByteString rProduct, const ByteString rEnvironment );
-
- static String GetVersionRoot( GenericInformationList *pList, const ByteString &rVersion );
-
- GenericInformationList *GetProductList() { return pProductList; }
-};
-
-
-#endif // PRODUCT_MAPPER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/connctr.hxx b/soldep/inc/soldep/connctr.hxx
deleted file mode 100644
index df11c1d00c4c..000000000000
--- a/soldep/inc/soldep/connctr.hxx
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-#ifndef _FMRWRK_CONNCTR_HXX
-#define _FMRWRK_CONNCTR_HXX
-
-
-#include <vcl/window.hxx>
-#include <bootstrp/listmacr.hxx>
-#include <tools/stream.hxx>
-
-class DepWin;
-class ObjectWin;
-
-static Rectangle aEmptyRect( Point( 0, 0), Point( 0, 0));
-
-class Connector
-{
- ObjectWin *mpStartWin, *mpEndWin;
- ULONG mnStartId, mnEndId;
- Point mStart, mEnd, mCenter;
- DepWin* mpParent;
-
- BOOL bVisible;
- BOOL mbHideIndependend;
- static BOOL msbHideMode;
-
-
-public:
- double len;
- Connector( DepWin* pParent, WinBits nWinStyle );
- ~Connector();
-
- void Initialize( ObjectWin* pStartWin, ObjectWin* pEndWin, BOOL bVis = FALSE );
- Point GetMiddle();
- void Paint( const Rectangle& rRect );
- void UpdatePosition( ObjectWin* pWin, BOOL bPaint = TRUE );
- USHORT Save( SvFileStream& rOutFile );
- USHORT Load( SvFileStream& rInFile );
- ULONG GetStartId(){ return mnStartId; };
- ULONG GetEndId(){ return mnEndId; };
- ObjectWin* GetStartWin(){ return mpStartWin; };
- ObjectWin* GetEndWin(){ return mpEndWin; };
- ObjectWin* GetOtherWin( ObjectWin* pWin );
- ULONG GetOtherId( ULONG nId );
- ULONG GetLen();
- BOOL IsStart( ObjectWin* pWin );
- void SetHideIndependend( BOOL bHide) { mbHideIndependend = bHide; };
-
- BOOL IsVisible() { return bVisible; }
- void SetVisibility( BOOL visible ) { bVisible = visible; }
- void UpdateVisibility();
- void SetHideMode(BOOL bHide) { msbHideMode = bHide; };
- void DrawOutput( OutputDevice* pDevice, const Point& rOffset );
-};
-
-DECLARE_LIST( ConnectorList, Connector* )
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/depper.hxx b/soldep/inc/soldep/depper.hxx
deleted file mode 100644
index db45331f6a61..000000000000
--- a/soldep/inc/soldep/depper.hxx
+++ /dev/null
@@ -1,211 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _FMRWRK_DEPPER_HXX
-#define _FMRWRK_DEPPER_HXX
-
-#include <vcl/window.hxx>
-#include <vcl/wrkwin.hxx>
-#include <tools/resmgr.hxx>
-#include <soldep/objwin.hxx>
-#include <soldep/depwin.hxx>
-#include <soldep/graphwin.hxx>
-#include <soldep/tbox.hxx>
-#include <soldep/soldlg.hrc>
-#include <soldep/hashtbl.hxx>
-#include <soldep/hashobj.hxx>
-#include <soldep/soldlg.hxx>
-#include <soldep/prj.hxx>
-#include <soldep/sdtresid.hxx>
-
-DECLARE_HASHTABLE_OWNER(SolIdMapper,ByteString,MyHashObject*)
-
-// just for conversion - convert char* to String
-class ProgressBar;
-class FixedText;
-
-#define SOLDEPL_NAME "StarDepend V1.0"
-
-#define DEPPER_ID 4711
-
-//User Events
-#define VCLEVENT_USER_MOUSEBUTTON_DOWN 5000
-#define VCLEVENT_USER_MOUSEBUTTON_DOWN_ALT 5001
-#define VCLEVENT_USER_MOUSEBUTTON_DOWN_CTRL 5002
-#define VCLEVENT_USER_MOUSEBUTTON_UP 5003
-#define VCLEVENT_USER_MOUSEBUTTON_UP_ALT 5004
-#define VCLEVENT_USER_MOUSEBUTTON_UP_CTRL 5005
-#define VCLEVENT_USER_MOUSEBUTTON_UP_SHFT 5006
-#define VCLEVENT_USER_MOUSEBUTTON_DOWN_DBLCLICK 5007
-#define VCLEVENT_USER_TBOX_RESIZE 5008
-#define VCLEVENT_USER_TBOX_RESIZE_APP 5009
-#define VCLEVENT_USER_TBOX_FIND 5010
-#define VCLEVENT_USER_TBOX_HIDE_INDEPENDEND 5011
-#define VCLEVENT_USER_TBOX_SELECT_WORKSPACE 5012
-#define VCLEVENT_USER_TBOX_BACK 5013
-
-#define OBJWIN_X_SPACING 50
-#define OBJWIN_Y_SPACING 12
-#define DEPPER_MAX_DEPTH 100
-#define DEPPER_MAX_WIDTH 12
-#define DEPPER_MAX_LEVEL_WIDTH 10 * DEPPER_MAX_WIDTH
-
-
-#define DEP_OK 0
-#define DEP_OBJECT_NOT_FOUND 1
-#define DEP_STARTID_NOT_FOUND 2
-#define DEP_ENDID_NOT_FOUND 3
-#define DEP_CONNECTOR_NOT_FOUND 4
-#define DEP_ENDLES_RECURSION_FOUND DEPPER_MAX_DEPTH + 1
-
-#define DEPPOPUP_NEW 1
-#define DEPPOPUP_AUTOARRANGE 2
-#define DEPPOPUP_LOAD 3
-#define DEPPOPUP_SAVE 4
-#define DEPPOPUP_WRITE_SOURCE 5
-#define DEPPOPUP_READ_SOURCE 6
-#define DEPPOPUP_OPEN_SOURCE 7
-#define DEPPOPUP_ZOOMIN 8
-#define DEPPOPUP_ZOOMOUT 9
-#define DEPPOPUP_CLEAR 10
-#define DEPPOPUP_CLOSE 11
-#define DEPPOPUP_HELP 12
-#define DEPPOPUP_SHOW_TOOLBOX 13
-#define DEPPOPUP_TEST 0xff
-
-struct depper_head
-{
- ULONG nID;
- ULONG nObjectCount;
- ULONG nCnctrCount;
-
-};
-
-enum DistType
-{
- BOTTOMUP = 0,
- TOPDOWN = 1,
- BOTH = 2
-};
-
-
-class Depper : public SolDevDll, public Window
-{
- BOOL mbIsPrjView;
- ULONG mnMinDynXOffs;
- Point maDefPos;
- Size maDefSize;
-
- long nZoomed;
-
- ULONG mnViewMask;
-
- ProgressBar* pSubBar;
- ProgressBar* pMainBar;
- FixedText* pSubText;
- FixedText* pMainText;
- SolAutoarrangeDlg maArrangeDlg;
-
-
-protected:
- Prj* mpPrj;
- SolIdMapper* mpSolIdMapper;
- SolIdMapper* mpPrjIdMapper;
- StarWriter* mpStarWriter;
- StarWriter* mpPrjStarWriter; //for inside prj-view
- ULONG mnSolWinCount;
- ULONG mnSolLastId;
- ULONG mnPrjWinCount;
- ULONG mnPrjLastId;
- ObjectList* mpObjectList; //Extended ObjWinList class
- ObjectList* mpObjectPrjList; //for module internal dependencies
- DepWin* mpBaseWin;
- DepWin* mpBasePrjWin; //for inside prj-view
- GraphWin* mpGraphWin;
- GraphWin* mpGraphPrjWin; //for inside prj-view
- Window* mpProcessWin;
- Window* mpParentProcessWin;
- ObjectWin* ObjIdToPtr( ObjectList* pObjLst, ULONG nId );
- SoldepToolBox maToolBox;
- FloatingWindow maTaskBarFrame; // For ToolBox
-
- ULONG AddObjectToList(DepWin* pParentWin, ObjectList* pObjLst, ULONG &LastID, ULONG &WinCount, ByteString& rBodyText, BOOL bInteract=TRUE );
- ULONG AddObjectToList( DepWin* pParentWin, ObjectList* pObjLst, ULONG &LastID, ULONG &WinCount, ByteString& rBodyText, Point& rPos, Size& rSize );
- ObjectWin* RemoveObjectFromList( ObjectList* pObjLst, ULONG &WinCount, USHORT nId, BOOL bDelete );
- USHORT AddConnectorToObjects( ObjectList* pObjLst, ULONG nStartId, ULONG nEndId );
- USHORT RemoveConnectorFromObjects( ObjectList* pObjLst, ULONG nStartId, ULONG nEndId );
- USHORT AddConnectorToObjects( ObjectWin* pStartWin, ObjectWin* pEndWin );
- USHORT RemoveConnectorFromObjects( ObjectWin* pStartWin, ObjectWin* pEndWin );
-
-public:
- Depper( Window* pBaseWindow );
- ~Depper();
- BOOL TogglePrjViewStatus();
- void SetPrjViewStatus(BOOL state) { mbIsPrjView = state; }
- BOOL IsPrjView() { return mbIsPrjView; }
- GraphWin* GetGraphWin() { return (!mbIsPrjView) ? mpGraphWin : mpGraphPrjWin; } //scrollbar window
- DepWin* GetDepWin() { return (!mbIsPrjView) ? mpBaseWin : mpBasePrjWin; } //content of scrollbar window
- ProgressBar* GetMainProgressBar() { return pMainBar; }
- void SetMainProgressBar( USHORT i);
- void UpdateMainProgressBar(USHORT i, USHORT nScaleVal, USHORT &nStep, BOOL bCountingDown = FALSE);
- void UpdateSubProgrssBar(ULONG i);
- void SetTitle( const String &rTitle ) { mpProcessWin->SetText( rTitle ); }
- virtual void RemoveAllObjects( ObjectList* ObjLst );
- USHORT Save( const ByteString& rFileName );
-// USHORT Load( const ByteString& rFileName );
- virtual USHORT WriteSource();
- virtual USHORT ReadSource( BOOL bUpdater );
- virtual USHORT OpenSource();
- void SetDefPos( Point& rPos ) { maDefPos = rPos; };
- Point& GetDefPos() { return maDefPos; };
- void SetDefSize( Size& rSize ) { maDefSize = rSize; };
- Size& GetDefSize() { return maDefSize; };
- virtual USHORT AutoArrangeDlgStart();
- virtual USHORT AutoArrangeDlgStop();
- virtual USHORT Zoom( MapMode& rMapMode );
- virtual BOOL ViewContent( ByteString& ) { return FALSE; };
- virtual USHORT CloseWindow() { return 0; };
- virtual void ShowHelp(){};
- ObjectList* GetObjectList() { return (!mbIsPrjView) ? mpObjectList : mpObjectPrjList; }
- ULONG HandleNewPrjDialog( ByteString &rBodyText );
- ULONG HandleNewDirectoryDialog( ByteString &rBodyText );
- void HideObjectsAndConnections( ObjectList* pObjLst );
- void ShowObjectsAndConnections( ObjectList* pObjLst );
- //virtual void MouseButtonDown( const MouseEvent& rMEvt );
-//#ifdef DEBUG
- virtual void test(){};
- DECL_LINK( PopupSelected, PopupMenu* );
-//#endif
-
- //void SetViewMask( ULONG nMask );
- ULONG GetViewMask() { return mnViewMask; }
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/depwin.hxx b/soldep/inc/soldep/depwin.hxx
deleted file mode 100644
index 495df21b34fb..000000000000
--- a/soldep/inc/soldep/depwin.hxx
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _FMRWRK_DEPWIN_HXX
-#define _FMRWRK_DEPWIN_HXX
-
-#include <vcl/wrkwin.hxx>
-#include <vcl/menu.hxx>
-#include <svtools/scrwin.hxx>
-#include <soldep/connctr.hxx>
-
-class Depper;
-
-class DepWin : public Window
-{
-private:
- ConnectorList ConList;
-
- ObjectWin* mpNewConWin;
- BOOL mbStartNewCon;
- Point maNewConStart;
- Point maNewConEnd;
- ObjectWin* mpSelectedProject;
-
-public:
- PopupMenu* mpPopup;
-// Depper* mpDepperDontuseme;
-
- DepWin( Window* pParent, WinBits nWinStyle );
- ~DepWin();
- void AddConnector( Connector* pNewCon );
- void RemoveConnector( Connector* piOldCon );
- void NewConnector( ObjectWin* pWin );
- ConnectorList* GetConnectorList();
- void ClearConnectorList() { ConList.Clear();}
- void Paint( const Rectangle& rRect );
- void MouseButtonUp( const MouseEvent& rMEvt );
- virtual void Command( const CommandEvent& rEvent);
-// void Resize();
- void MouseMove( const MouseEvent& rMEvt );
- BOOL IsStartNewCon() { return mbStartNewCon; };
- void SetPopupHdl( void* pHdl );
- void SetSelectedProject( ObjectWin* object ) { mpSelectedProject = object; };
- ObjectWin* GetSelectedProject() { return mpSelectedProject; };
-// DECL_LINK( PopupSelected, PopupMenu* );
- void DrawOutput( OutputDevice* pDevice, const Point& rOffset );
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/graphwin.hxx b/soldep/inc/soldep/graphwin.hxx
deleted file mode 100644
index 153c15fa00e5..000000000000
--- a/soldep/inc/soldep/graphwin.hxx
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _FMRWRK_GRAPHWIN_HXX
-#define _FMRWRK_GRAPHWIN_HXX
-
-#include <svtools/scrwin.hxx>
-
-class GraphWin : public ScrollableWindow
-{
-private:
- void* mpClass;
-
-protected:
- Window aBufferWindow;
-
-public:
- GraphWin( Window * pParent, void * pClass );
- void CalcSize();
- virtual void EndScroll( long nDeltaX, long nDeltaY );
- virtual void Resize();
- virtual void Command( const CommandEvent& rEvent);
- Window* GetBufferWindow(){ return &aBufferWindow; };
-};
-
-#define PIXELS( nLeft, nTop, nWidth, nHeight )\
- LogicToPixel( Point( nLeft, nTop ) ), LogicToPixel( Size( nWidth, nHeight ) )
-
-#endif // _FMRWRK_GRAPHWIN_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/hashobj.hxx b/soldep/inc/soldep/hashobj.hxx
deleted file mode 100644
index 293cb7adb44b..000000000000
--- a/soldep/inc/soldep/hashobj.hxx
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _FMRWRK_HASHOBJ_HXX
-#define _FMRWRK_HASHOBJ_HXX
-
-#include <soldep/hashtbl.hxx>
-
-class ObjectWin;
-
-class MyHashObject
-{
- ObjectWin* mpWin;
- ULONG mnId;
-public:
- MyHashObject( ULONG nId, ObjectWin* pWin );
- ULONG GetId() { return mnId; };
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/hashtbl.hxx b/soldep/inc/soldep/hashtbl.hxx
deleted file mode 100644
index 4f68d8a80275..000000000000
--- a/soldep/inc/soldep/hashtbl.hxx
+++ /dev/null
@@ -1,207 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _HASHTBL_HXX
-#define _HASHTBL_HXX
-
-#include <tools/gen.hxx>
-#include <tools/string.hxx>
-
-// ADT hash table
-//
-// Invariante:
-// 1. m_lElem < m_lSize
-// 2. die Elemente in m_Array wurden double-hashed erzeugt
-//
-class HashItem;
-
-class HashTable
-{
- ULONG m_lSize;
- ULONG m_lElem;
- HashItem *m_pData;
- double m_dMaxLoadFactor;
- double m_dGrowFactor;
- BOOL m_bOwner;
-
- ULONG Hash(ByteString const& Key) const;
- ULONG DHash(ByteString const& Key, ULONG lHash) const;
- ULONG Probe(ULONG lPos) const;
-
- HashItem* FindPos(ByteString const& Key) const;
- void SmartGrow();
- double CalcLoadFactor() const;
-
-// Statistik
-#ifdef DBG_UTIL
-private:
- struct
- {
- ULONG m_lSingleHash;
- ULONG m_lDoubleHash;
- ULONG m_lProbe;
- }
- m_aStatistic;
-#endif
-
-protected:
- friend class HashTableIterator;
-
- virtual void OnDeleteObject(void* pObject);
-
- void* GetObjectAt(ULONG lPos) const;
-
-// Default-Werte
-public:
- static double m_defMaxLoadFactor;
- static double m_defDefGrowFactor;
-
-public:
- HashTable
- (
- ULONG lSize,
- BOOL bOwner,
- double dMaxLoadFactor = HashTable::m_defMaxLoadFactor /* 0.8 */,
- double dGrowFactor = HashTable::m_defDefGrowFactor /* 2.0 */
- );
-
- virtual ~HashTable();
-
- BOOL IsFull() const;
- ULONG GetSize() const { return m_lSize; }
-
- void* Find (ByteString const& Key) const;
- BOOL Insert (ByteString const& Key, void* pObject);
- void* Delete (ByteString const& Key);
-};
-
-// ADT hash table iterator
-//
-// Invariante: 0 <= m_lAt < m_aTable.GetCount()
-//
-class HashTableIterator
-{
- ULONG m_lAt;
- HashTable const& m_aTable;
-
- void* FindValidObject(BOOL bForward);
-
-protected:
- void* GetFirst(); // Interation _ohne_ Sortierung
- void* GetNext();
- void* GetLast();
- void* GetPrev();
-
-public:
- HashTableIterator(HashTable const&);
-};
-
-// typsichere Makros ---------------------------------------------------
-
-#define DECLARE_HASHTABLE_INTERN(ClassName,Owner,KeyType,ObjType) \
- class ClassName : public HashTable \
- { \
- public: \
- ClassName \
- ( \
- ULONG lSize, \
- double dMaxLoadFactor = HashTable::m_defMaxLoadFactor, \
- double dGrowFactor = HashTable::m_defDefGrowFactor \
- ) \
- : HashTable(lSize,Owner,dMaxLoadFactor,dGrowFactor) {} \
- \
- ObjType Find (KeyType const& Key) const \
- { return (ObjType) HashTable::Find(ByteString(Key)); } \
- \
- using HashTable::Insert; \
- BOOL Insert (KeyType const& Key, ObjType Object) \
- { return HashTable::Insert(ByteString(Key), (void*) Object); } \
- \
- ObjType Delete (KeyType const&Key) \
- { return (ObjType) HashTable::Delete (ByteString(Key)); } \
- };
-
-// HashTable OHNE Owner-Verhalten
-#define DECLARE_HASHTABLE(ClassName,KeyType,ObjType) \
- DECLARE_HASHTABLE_INTERN(ClassName,FALSE,KeyType,ObjType)
-
-// HashTable MIT Owner-Verhalten
-#define DECLARE_HASHTABLE_OWNER(ClassName,KeyType,ObjType) \
- DECLARE_HASHTABLE_INTERN(ClassName##2,TRUE,KeyType,ObjType) \
- class ClassName : public ClassName##2 \
- { \
- protected: \
- virtual void OnDeleteObject(void* pObject); \
- public: \
- ClassName \
- ( \
- ULONG lSize, \
- double dMaxLoadFactor = HashTable::m_defMaxLoadFactor, \
- double dGrowFactor = HashTable::m_defDefGrowFactor \
- ) \
- : ClassName##2(lSize,dMaxLoadFactor,dGrowFactor) {} \
- ~ClassName(); \
- };
-
-#define IMPLEMENT_HASHTABLE_OWNER(ClassName,KeyType,ObjType) \
- void ClassName::OnDeleteObject(void* pObject) \
- { delete (ObjType) pObject; } \
- \
- ClassName::~ClassName() \
- { \
- for (ULONG i=0; i<GetSize(); i++) \
- { \
- void *pObject = GetObjectAt(i); \
- if (pObject != NULL) \
- OnDeleteObject(pObject); \
- } \
- }
-
-// Iterator-Makros --------------------------------------------------
-
-#define DECLARE_HASHTABLE_ITERATOR(ClassName,ObjType) \
- class ClassName : public HashTableIterator \
- { \
- public: \
- ClassName(HashTable const& aTable) \
- : HashTableIterator(aTable) {} \
- \
- ObjType GetFirst() \
- { return (ObjType)HashTableIterator::GetFirst(); } \
- ObjType GetNext() \
- { return (ObjType)HashTableIterator::GetNext(); } \
- ObjType GetLast() \
- { return (ObjType)HashTableIterator::GetLast(); } \
- ObjType GetPrev() \
- { return (ObjType)HashTableIterator::GetPrev(); } \
- };
-
-
-#endif // _HASHTBL_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/objwin.hxx b/soldep/inc/soldep/objwin.hxx
deleted file mode 100644
index 765054b17759..000000000000
--- a/soldep/inc/soldep/objwin.hxx
+++ /dev/null
@@ -1,160 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _FMRWRK_OBJWIN_HXX
-#define _FMRWRK_OBJWIN_HXX
-
-#include <vcl/window.hxx>
-#include <vcl/menu.hxx>
-#include <vcl/timer.hxx>
-#include <bootstrp/listmacr.hxx>
-#include <tools/stream.hxx>
-
-#include <soldep/connctr.hxx>
-
-#define OBJWIN_EDIT_TEXT 1
-#define OBJWIN_ADD_CONNECTOR 2
-#define OBJWIN_REMOVE_WIN 3
-#define OBJWIN_VIEW_CONTENT 4
-
-#define MARKMODE_DEFAULT 0
-#define MARKMODE_DEPENDING 1
-#define MARKMODE_NEEDED 2
-#define MARKMODE_ACTIVATED 4
-#define MARKMODE_SELECTED 8
-
-class Depper;
-class Connector;
-class ObjectWin;
-
-class ObjectWin : public Window
-{
- Point maMouseOffset;
- Point maCalcPos;
- ByteString msBodyText;
- ByteString msTipText;
- ULONG mnObjectId;
- PopupMenu* mpPopup;
- USHORT mnPopupStaticItems;
- Wallpaper maObjWallpaper;
- ConnectorList mConnections;
- ULONG mnMarkMode;
- ULONG mnViewMask;
- BOOL mbVisible;
- BOOL mbMenuExecute;
- static BOOL msbHideMode;
- static ULONG msnGlobalViewMask; //will be set by SolDep
-
-public:
- BOOL mbVisited;
-// double x, y;
-
- USHORT mnRootDist;
- USHORT mnHeadDist;
- BOOL mbFixed;
- //Depper* mpDepperDontuseme;
- Timer aTipTimer;
-
- ObjectWin( Window* pParent, WinBits nWinStyle );
- ~ObjectWin();
- void SetHideMode(BOOL bHide);
- BOOL ToggleHideMode();
- BOOL IsHideMode() { return msbHideMode; };
- BOOL IsNullObject() { return (msBodyText == "null"); };
- void SetGlobalViewMask(ULONG gvm) { msnGlobalViewMask = gvm; };
- void SetBodyText( const ByteString& rNewText );
- ByteString& GetBodyText();
- ULONG GetIdByName( const ByteString& rText );
- void SetTipText( const ByteString& rNewText );
- ByteString& GetTipText();
- Point GetFixPoint( const Point& rRefPoint, BOOL bUseRealPos = TRUE );
-
- void SetCalcPosPixel( const Point& rNewPos ){ maCalcPos = rNewPos; };
- Point GetCalcPosPixel() const { return maCalcPos; }
-
- void AddConnector( Connector* pNewCon );
- void RemoveConnector( Connector* pOldCon );
- Connector* GetConnector( ULONG nIndex );
- Connector* GetConnector( ULONG nStartId, ULONG nEndId );
- virtual void SetMarkMode( ULONG nMarkMode = 0 );
- virtual void UnsetMarkMode( ULONG nMarkMode );
- ULONG GetMarkMode(){ return mnMarkMode; };
- Wallpaper GetActualWallpaper() { return maObjWallpaper;};
- void SetActualWallpaper(const Wallpaper& aWp) { maObjWallpaper = aWp;};
- void MarkNeeded( BOOL bReset = FALSE );
- void MarkDepending( BOOL bReset = FALSE );
- void Paint( const Rectangle& rRecct );
- void MouseButtonDown( const MouseEvent& rMEvt );
- void MouseButtonUp( const MouseEvent& rMEvt );
- void MouseMove( const MouseEvent& rMEvt );
-// void DoubleClick();
- USHORT Save( SvFileStream& rOutFile );
- USHORT Load( SvFileStream& rInFile );
- void SetId( ULONG nId );
- ULONG GetId();
- void UpdateConnectors();
- void SetAllConnectorsUnvisible();
- virtual void Command( const CommandEvent& rEvent);
-
- void SetViewMask( ULONG nMask );
- ULONG GetViewMask() { return mnViewMask; }
- using Window::IsVisible;
- BOOL IsVisible() { return mbVisible; }
-
- DECL_LINK( PopupSelected, PopupMenu * );
- DECL_LINK( PopupDeactivated, PopupMenu * );
- DECL_LINK( TipHdl, void * );
-
- //virtual void GetFocus();
- virtual void LoseFocus();
-
- BOOL ConnectionExistsInAnyDirection( ObjectWin *pWin );
- void DrawOutput( OutputDevice* pDevice, const Point& rOffset );
- BOOL IsTop();
-};
-
-DECL_DEST_LIST( TmpObjWinList, ObjWinList, ObjectWin* )
-
-//Extend ObjWinList
-class ObjectList : public ObjWinList
-{
-private:
- ObjectWin* pSelectedObjectWin;
-protected:
- BOOL mbHideMode;
-public:
- ObjectList();
- ~ObjectList() {};
- void ResetSelectedObject();
- ObjectWin* GetPtrByName( const ByteString& rText );
- ObjectList* FindTopLevelModules();
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/prj.hxx b/soldep/inc/soldep/prj.hxx
deleted file mode 100644
index ba082d98fafe..000000000000
--- a/soldep/inc/soldep/prj.hxx
+++ /dev/null
@@ -1,476 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
- /*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _PRJ_HXX
-#define _PRJ_HXX
-
-#include <tools/fsys.hxx>
-#include <tools/stream.hxx>
-#include <bootstrp/listmacr.hxx>
-#include <osl/mutex.hxx>
-#include <tools/string.hxx>
-
-#define XML_EXT "xlist"
-
-#define OS_NONE 0x0000
-#define OS_WIN16 0x0001
-#define OS_WIN32 0x0002
-#define OS_OS2 0x0004
-#define OS_UNX 0x0008
-#define OS_MAC 0x0010
-#define OS_ALL ( OS_WIN16 | OS_WIN32 | OS_OS2 | OS_UNX | OS_MAC )
-
-#define COMMAND_PROJECTROOT 0x0000
-#define COMMAND_NMAKE 0x0001
-#define COMMAND_GET 0x0002
-#define COMMAND_USER_START 0x0003
-#define COMMAND_USER_END 0xFFFE
-#define COMMAND_ALLDIRS 0xFFFF
-
-class SByteStringList;
-class GenericInformationList;
-
-/*********************************************************************
-*
-* Die Klasse CommandData haelte alle Informationen, die fuer die
-* Abarbeitung eines Kommandos (nmake, get) noetig sind
-*
-*********************************************************************/
-
-class CommandData
-{
- ByteString aPrj;
- ByteString aLogFileName;
- ByteString aInpath;
- ByteString aUpd;
- ByteString aUpdMinor;
- ByteString aProduct;
- ByteString aCommand;
- ByteString aPath;
- ByteString aPrePath;
- ByteString aPreFix;
- ByteString aCommandPara;
- ByteString aComment;
- ByteString sClientRestriction;
- SByteStringList *pDepList;
- SByteStringList *pCommandList;
- USHORT nOSType;
- USHORT nCommand;
- ULONG nDepth; // Tiefe der Abhaenigkeit
-
-public:
- CommandData();
- ~CommandData();
- ByteString GetProjectName(){return aPrj;}
- void SetProjectName( ByteString aName ){aPrj = aName;}
- ByteString GetLogFile(){return aLogFileName;}
- void SetLogFile( ByteString aName ){aLogFileName = aName;}
- ByteString GetInpath(){return aInpath;}
- void SetInpath( ByteString aName ){aInpath = aName;}
- ByteString GetUpd(){return aUpd;}
- void SetUpd( ByteString aName ){aUpd = aName;}
- ByteString GetUpdMinor(){return aUpdMinor;}
- void SetUpdMinor( ByteString aName ){aUpdMinor = aName;}
- ByteString GetProduct(){return aProduct;}
- void SetProduct( ByteString aName ){aProduct = aName;}
- ByteString GetCommand(){return aCommand;}
- void SetCommand ( ByteString aName ){aCommand = aName;}
- ByteString GetCommandPara(){return aCommandPara;}
- void SetCommandPara ( ByteString aName ){aCommandPara = aName;}
- ByteString GetComment(){return aComment;}
- void SetComment ( ByteString aCommentString ){aComment = aCommentString;}
- ByteString GetPath(){return aPath;}
- void SetPath( ByteString aName ){aPath = aName;}
- ByteString GetPrePath(){return aPrePath;}
- void SetPrePath( ByteString aName ){aPrePath = aName;}
- USHORT GetOSType(){return nOSType;}
- ByteString GetOSTypeString();
- void SetOSType( USHORT nType ){nOSType = nType;}
- USHORT GetCommandType(){return nCommand;}
- ByteString GetCommandTypeString();
- void SetCommandType( USHORT nCommandType ){nCommand = nCommandType;}
- SByteStringList* GetDependencies(){return pDepList;}
- void SetDependencies( SByteStringList *pList ){pDepList = pList;}
- ByteString GetClientRestriction() { return sClientRestriction; }
- void SetClientRestriction( ByteString sRestriction ) { sClientRestriction = sRestriction; }
-
- void AddDepth(){nDepth++;}
- ULONG GetDepth(){return nDepth;}
-
- void AddCommand(ByteString* pCommand);
- SByteStringList* GetCommandList() {return pCommandList;}
-
- CommandData& operator<< ( SvStream& rStream );
- CommandData& operator>> ( SvStream& rStream );
-};
-
-/*********************************************************************
-*
-* Die Klasse SimpleConfig kann benutzt werden, um aus einer Textdatei
-* alle Tokens zu lesen
-*
-*********************************************************************/
-
-class SimpleConfig
-{
- long nLine;
- String aFileName;
- SvFileStream aFileStream;
- ByteString aTmpStr;
- ByteString aStringBuffer;
- ByteString GetNextLine();
-
-public:
- SimpleConfig(String aSimpleConfigFileName);
- SimpleConfig(DirEntry& rDirEntry);
- ~SimpleConfig();
- ByteString GetNext();
- ByteString GetCleanedNextLine( BOOL bReadComments = FALSE );
-};
-
-#define ENV_GUI 0x00000000
-#define ENV_OS 0x00000001
-#define ENV_UPD 0x00000002
-#define ENV_UPDMIN 0x00000004
-#define ENV_INPATH 0x00000008
-#define ENV_OUTPATH 0x00000010
-#define ENV_GUIBASE 0x00000020
-#define ENV_CVER 0x00000040
-#define ENV_GVER 0x00000080
-#define ENV_GUIENV 0x00000100
-#define ENV_CPU 0x00000200
-#define ENV_CPUNAME 0x00000400
-#define ENV_DLLSUFF 0x00000800
-#define ENV_COMEX 0x00001000
-#define ENV_COMPATH 0x00002000
-#define ENV_INCLUDE 0x00004000
-#define ENV_LIB 0x00008000
-#define ENV_PATH 0x00010000
-#define ENV_SOLVER 0x00020000
-#define ENV_SOLENV 0x00040000
-#define ENV_SOLROOT 0x00080000
-#define ENV_DEVROOT 0x00100000
-#define ENV_EMERG 0x00200000
-#define ENV_STAND 0x00400000
-
-DECL_DEST_LIST ( PrjList_tmp, PrjList, CommandData * )
-
-/*********************************************************************
-*
-* class DepInfo
-* Struct mit Modeinfos
-*
-*********************************************************************/
-
-class DepInfo
-{
- private:
- ByteString* pProject;
- SByteStringList* pModeList;
- BOOL bAllModes;
-
- void RemoveProject ();
- void RemoveModeList ();
- public:
- DepInfo() : pProject(0), pModeList(0), bAllModes(FALSE) {}
- DepInfo(ByteString* pString) : pProject(0), pModeList(0), bAllModes(FALSE) {pProject = pString;}
- DepInfo(ByteString* pString, SByteStringList* pList) : pProject(0), pModeList(0), bAllModes(FALSE) {pProject = pString; pModeList = pList;}
- ~DepInfo();
-
- void SetProject (ByteString* pStr);
- ByteString* GetProject() {return pProject;}
- void PutModeString (ByteString* pStr);
- SByteStringList* GetModeList() {return pModeList;}
- void SetModeList (SByteStringList* pList) {pModeList = pList;}
- BOOL IsAllModes() {return bAllModes;}
- void SetAllModes(BOOL bModes=TRUE) {bAllModes = bModes;}
-
- DepInfo& operator<< ( SvStream& rStream );
- DepInfo& operator>> ( SvStream& rStream );
-};
-
-DECLARE_LIST( DepInfoList, DepInfo* )
-
-/*********************************************************************
-*
-* class SDepInfoList
-* Struct mit Modeinfos + Listen Methoden
-*
-*********************************************************************/
-
-class SDepInfoList : public DepInfoList
-{
- SByteStringList* pAllModeList; // only pointer to strings
-
- public:
- SDepInfoList();
- ~SDepInfoList();
-
- // neuen ByteString in Liste einfuegen
- ULONG PutString( ByteString*, ByteString*);
- ULONG PutString( ByteString*);
- void PutModeString( DepInfo* pInfoList, ByteString* pStr );
-
- ByteString* RemoveString( const ByteString& rName );
-
- // Position des ByteString in Liste, wenn nicht enthalten, dann
- // return = NOT_THERE
- ULONG IsString( ByteString* );
-
- // Vorgaenger ermitteln ( auch wenn selbst noch nicht in
- // Liste enthalten
- ULONG GetPrevString( ByteString* );
- SByteStringList* GetAllDepModes();
-
- SDepInfoList& operator<< ( SvStream& rStream );
- SDepInfoList& operator>> ( SvStream& rStream );
-};
-
-
-/*********************************************************************
-*
-* class Prj
-* alle Daten eines Projektes werden hier gehalten
-*
-*********************************************************************/
-
-class Star;
-class Prj : public PrjList
-{
-friend class Star;
-private:
-
- ByteString aPrjPath;
- ByteString aProjectName;
- ByteString aProjectPrefix; // max. 2-buchstabige Abk.
- SByteStringList* pPrjInitialDepList;
- SByteStringList* pPrjDepList;
- SDepInfoList* pPrjDepInfoList;
- BOOL bSorted;
- BOOL bHardDependencies;
- BOOL bFixedDependencies;
- BOOL bVisited;
- BOOL bIsAvailable;
- SByteStringList* RemoveStringList(SByteStringList* pStringList );
- SDepInfoList* RemoveDepInfoList(SDepInfoList* pInfoList );
- PrjList* pTempCommandDataList;
- BOOL bTempCommandDataListPermanent;
- BOOL bError;
-
-public:
- Prj();
- Prj( ByteString aName );
- ~Prj();
- void SetPreFix( ByteString aPre ){aProjectPrefix = aPre;}
- ByteString GetPreFix(){return aProjectPrefix;}
- ByteString GetProjectName() { return aProjectName; }
- void SetProjectName(ByteString aName) { aProjectName = aName; }
- BOOL InsertDirectory( ByteString aDirName , USHORT aWhat,
- USHORT aWhatOS, ByteString aLogFileName,
- const ByteString &rClientRestriction );
- CommandData* RemoveDirectory( ByteString aLogFileName );
- CommandData* GetDirectoryList ( USHORT nWhatOs, USHORT nCommand );
- CommandData* GetDirectoryData( ByteString aLogFileName );
- inline CommandData* GetData( ByteString aLogFileName )
- { return GetDirectoryData( aLogFileName ); };
-
- SByteStringList* GetDependencies( BOOL bExpanded = TRUE );
- SDepInfoList* GetModeAndDependencies() {return pPrjDepInfoList;}
- void AddDependencies( ByteString aStr );
- void AddDependencies( ByteString aStr, ByteString aModeStr );
- void SetMode(SByteStringList* pModeList);
- void HasHardDependencies( BOOL bHard ) { bHardDependencies = bHard; }
- BOOL HasHardDependencies() { return bHardDependencies; }
- void HasFixedDependencies( BOOL bFixed ) { bFixedDependencies = bFixed; }
- BOOL HasFixedDependencies() { return bFixedDependencies; }
-
- BOOL IsAvailable() { return bIsAvailable; }
- void IsAvailable( BOOL bAvailable ) { bIsAvailable=bAvailable; }
-
- void ExtractDependencies();
-
- PrjList* GetCommandDataList ();
- void RemoveTempCommandDataList();
- void GenerateTempCommandDataList();
- void GenerateEmptyTempCommandDataList();
- BOOL HasTempCommandDataList() {return pTempCommandDataList != NULL;}
- void SetTempCommandDataListPermanent (BOOL bVar = TRUE) {bTempCommandDataListPermanent = bVar;}
- BOOL IsTempCommandDataListPermanent() {return bTempCommandDataListPermanent;}
-
- void SetError (BOOL bVar = TRUE) {bError = bVar;}
- BOOL HasError () {return bError;}
-
- Prj& operator<< ( SvStream& rStream );
- Prj& operator>> ( SvStream& rStream );
-};
-
-/*********************************************************************
-*
-* class Star
-* Diese Klasse liest die Projectstruktur aller StarDivision Projekte
-* aus \\dev\data1\upenv\data\config\solar.lst aus
-*
-*********************************************************************/
-
-DECL_DEST_LIST ( StarList_tmp, StarList, Prj* )
-DECLARE_LIST ( SolarFileList, String* )
-
-class StarFile
-{
-private:
- String aFileName;
- Date aDate;
- Time aTime;
- Date aDateCreated;
- Time aTimeCreated;
-
- BOOL bExists;
-
-public:
- StarFile( const String &rFile );
- const String &GetName() { return aFileName; }
- Date GetDate() { return aDate; }
- Time GetTime() { return aTime; }
-
- BOOL NeedsUpdate();
- BOOL Exists() { return bExists; }
-};
-
-DECLARE_LIST( StarFileList, StarFile * )
-
-#define STAR_MODE_SINGLE_PARSE 0x0000
-#define STAR_MODE_MULTIPLE_PARSE 0x0002
-
-class Star : public StarList
-{
-private:
- Link aDBNotFoundHdl;
- ByteString aStarName; // no idee what this should be
-
-protected:
- osl::Mutex aMutex;
-
- USHORT nStarMode;
- SolarFileList aFileList;
- StarFileList aLoadedFilesList;
- String sSourceRoot;
- String sFileName;
- SByteStringList* pDepMode;
- SByteStringList* pAllDepMode;
-
- Link aFileIOErrorHdl; // called with &String as parameter!!!
-
- void InsertSolarList( String sProject );
- String CreateFileName( String& rProject, String& rSourceRoot );
-
- void Expand_Impl();
- void ExpandPrj_Impl( Prj *pPrj, Prj *pDepPrj );
- ULONG SearchFileEntry( StarFileList *pStarFiles, StarFile* pFile );
- void InsertTokenLine (const ByteString& rToken, Prj** ppPrj, const ByteString& rProjectName, const sal_Bool bExtendAlias = sal_True);
-
-public:
- Star();
- Star( String aFileName, USHORT nMode = STAR_MODE_SINGLE_PARSE );
- Star( SolarFileList *pSolarFiles );
- Star( GenericInformationList *pStandLst, ByteString &rVersion, BOOL bLocal = FALSE,
- const char *pSourceRoot = NULL );
-
- ~Star();
-
- void SetDBNotFoundHdl( const Link &rLink ) { aDBNotFoundHdl = rLink; }
- void SetFileIOErrorHdl( const Link &rLink ) { aFileIOErrorHdl = rLink; }
-
- ByteString GetName(){ return aStarName; }; // dummy function of VG
- void Read( String &rFileName );
- void Read( SolarFileList *pSOlarFiles );
-
-
- BOOL HasProject( ByteString aProjectName );
- Prj* GetPrj( ByteString aProjectName );
- ByteString GetPrjName( DirEntry &rPath );
- BOOL RemovePrj ( Prj* pPrj );
- void RemoveAllPrj ();
-
- StarFile* ReadBuildlist (const String& rFilename, BOOL bReadComments = FALSE, BOOL bExtendAlias = TRUE);
- BOOL NeedsUpdate();
- SolarFileList* NeedsFilesForUpdate();
- void ReplaceFileEntry( StarFileList *pStarFiles, StarFile* pFile );
- void UpdateFileList( GenericInformationList *pStandLst, ByteString &rVersion, BOOL bRead = FALSE,
- BOOL bLocal = FALSE, const char *pSourceRoot = NULL );
- void FullReload( GenericInformationList *pStandLst, ByteString &rVersion, BOOL bRead = FALSE,
- BOOL bLocal = FALSE, const char *pSourceRoot = NULL );
- void GenerateFileLoadList( SolarFileList *pSolarFiles );
- BOOL CheckFileLoadList(SolarFileList *pSolarFiles);
-
- USHORT GetMode() { return nStarMode; }
- String GetFileName(){ return sFileName; };
- String GetSourceRoot(){ return sSourceRoot; };
- SByteStringList* GetAvailableDeps ();
- void ClearAvailableDeps ();
- SByteStringList* GetCurrentDeps () {return pDepMode;}
- void SetCurrentDeps (SByteStringList* pDepList);
- void ClearCurrentDeps ();
-
- int GetOSType ( ByteString& aWhatOS );
- int GetJobType ( ByteString& JobType );
-
- void ClearLoadedFilesList ();
-
- void PutPrjIntoStream (SByteStringList* pPrjNameList, SvStream* pStream);
- Star& operator<< ( SvStream& rStream );
- Star& operator>> ( SvStream& rStream );
-};
-
-class StarWriter : public Star
-{
-private:
- USHORT WritePrj( Prj *pPrj, SvFileStream& rStream );
-
-public:
- StarWriter( String aFileName, BOOL bReadComments = FALSE, USHORT nMode = STAR_MODE_SINGLE_PARSE );
- StarWriter( SolarFileList *pSolarFiles, BOOL bReadComments = FALSE );
- StarWriter( GenericInformationList *pStandLst, ByteString &rVersion, ByteString &rMinor,
- BOOL bReadComments = FALSE, BOOL bLocal = FALSE, const char *pSourceRoot = NULL );
-
- void CleanUp();
-
- BOOL InsertProject ( Prj* pNewPrj );
- Prj* RemoveProject ( ByteString aProjectName );
-
- USHORT Read( String aFileName, BOOL bReadComments = FALSE, USHORT nMode = STAR_MODE_SINGLE_PARSE );
- USHORT Read( SolarFileList *pSolarFiles, BOOL bReadComments = FALSE );
- USHORT Write( String aFileName );
- USHORT WriteMultiple( String rSourceRoot );
-
- void InsertTokenLine ( const ByteString& rTokenLine );
-};
-
-#endif
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/sdtresid.hxx b/soldep/inc/soldep/sdtresid.hxx
deleted file mode 100644
index 3a55394b10a9..000000000000
--- a/soldep/inc/soldep/sdtresid.hxx
+++ /dev/null
@@ -1,54 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _SOLDEV_RESID_HXX_
-#define _SOLDEV_RESID_HXX_
-#include <tools/resmgr.hxx>
-#include <tools/shl.hxx>
-#include <vcl/svapp.hxx>
-
-
-class SolDevDll
-{
- ResMgr* pResMgr;
-public:
- SolDevDll();
- ~SolDevDll();
-
- ResMgr* GetResMgr() { return pResMgr; }
-};
-
-class DtSodResId : public ResId
-{
-public:
- DtSodResId(USHORT nId);
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/soldep.hxx b/soldep/inc/soldep/soldep.hxx
deleted file mode 100644
index 80bf7a93c476..000000000000
--- a/soldep/inc/soldep/soldep.hxx
+++ /dev/null
@@ -1,119 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _FMRWRK_SOLDEP_HXX
-#define _FMRWRK_SOLDEP_HXX
-
-#define SOURCEROOT "SOLARSRC"
-
-#include <tools/string.hxx>
-
-#include <soldep/depper.hxx>
-
-#define SOURCEROOT "SOLARSRC"
-
-class ObjectWin;
-
-class SolDep : public Depper
-{
- BOOL mbBServer; //call from build server
- ULONG mnMinDynXOffs;
- ULONG mnLevelOffset;
- ULONG mnXOffset;
- ObjWinList* mpTravellerList;
-
- String msSourceName;
- ByteString msVersionMajor;
- ByteString msVersionMinor;
- ByteString msProject;
- ObjectWin* mpFocusWin;
- BOOL mbIsHide;
-
- GenericInformationList *mpStandLst;
-
- DECL_LINK( ChildWindowEventListener, VclSimpleEvent* );
- DECL_LINK( ToolSelect, SoldepToolBox* );
-
- SolarFileList* GetPrjListFromDir();
-
- Point CalcPos( USHORT nSet, USHORT nIndex );
- ULONG CalcXOffset( ULONG nObjectsToFit );
- double CalcDistSum( ObjWinList* pObjList, DistType eDistType = TOPDOWN );
- USHORT Impl_Traveller( ObjectWin* pWin, USHORT nDepth );
- double Impl_PermuteMin( ObjWinList& rObjList, Point* pPosArray, ObjWinList& rResultList,
- double dMinDist, ULONG nStart, ULONG nSize, DistType eDisType = TOPDOWN );
- USHORT Load( const ByteString& rFileName );
- void WriteToErrorFile();
- BOOL MarkObjects( ObjectWin* pObjectWin );
- void InitContextMenueMainWnd();
- void InitContextMenuePrjViewWnd(DepWin* pWin);
-protected:
- /// will be called for any VclWindowEvent events broadcasted by our VCL window
- virtual void ProcessChildWindowEvent( const VclWindowEvent& _rVclWindowEvent );
- inline bool isAlive() const { return NULL != mpProcessWin; }
-
-
-public:
- SolDep( Window* pBaseWindow );
- ~SolDep();
- BOOL IsHideMode() { return mbIsHide;};
- void ToggleHideDependency();
-
- virtual ULONG GetStart(SolIdMapper* pIdMapper, ObjectList* pObjList);
- ULONG GetStartPrj(SolIdMapper* pIdMapper, ObjectList* pObjList);
- virtual USHORT ReadSource( BOOL bUpdater = FALSE );
- virtual USHORT WriteSource();
- virtual USHORT OpenSource();
- BOOL GetVersion();
- void Init();
- void Init( ByteString &rVersion, GenericInformationList *pVersionList = NULL );
- BOOL InitPrj( ByteString& rListName );
-// using Depper::AddObject;
- virtual ULONG AddObject( ByteString& rBodyText, BOOL Interact=TRUE );
- ULONG AddPrjObject( ByteString& rBodyText, BOOL Interact=TRUE );
- virtual ObjectWin* RemoveObject( USHORT nId, BOOL bDelete = TRUE );
- virtual void RemoveAllObjects( ObjectList* pObjLst );
- virtual USHORT AddConnector( ObjectWin* pStartWin, ObjectWin* pEndWin );
- USHORT AddConnectorPrjView( ObjectWin* pStartWin, ObjectWin* pEndWin );
- virtual USHORT RemoveConnector( ObjectWin* pStartWin, ObjectWin* pEndWin );
- USHORT RemoveConnectorPrjView( ObjectWin* pStartWin, ObjectWin* pEndWin );
- USHORT AutoArrange( SolIdMapper* pIdMapper, ObjectList* pObjLst, ULONG nTopId, ULONG nBottmId, ULONG aObjID );
- USHORT OptimizePos( SolIdMapper* pIdMapper, ObjectList* pObjLst, ULONG nTopId, ULONG nBottmId, ULONG aObjID );
- virtual BOOL ViewContent( ByteString& rObjectName );
- virtual USHORT CloseWindow();
- virtual void ShowHelp();
- FloatingWindow* GetTaskBarFrame() { return &maTaskBarFrame; }
- SoldepToolBox* GetSoldepToolBox() { return &maToolBox; }
-
- BOOL FindProject();
- void Resize();
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/soldlg.hrc b/soldep/inc/soldep/soldlg.hrc
deleted file mode 100644
index 94a26514e5b2..000000000000
--- a/soldep/inc/soldep/soldlg.hrc
+++ /dev/null
@@ -1,79 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#define SOLDEPL_START 1000
-
-#define BTN_OK (SOLDEPL_START+1)
-#define BTN_CANCEL (SOLDEPL_START+2)
-
-#define FT_PRJNAME (SOLDEPL_START+3)
-#define EDIT_PRJNAME (SOLDEPL_START+4)
-#define FT_PRJSHORT (SOLDEPL_START+5)
-#define EDIT_PRJSHORT (SOLDEPL_START+6)
-#define FT_PRJDEPS (SOLDEPL_START+7)
-#define EDIT_PRJDEPS (SOLDEPL_START+8)
-
-
-#define FT_DIRNAME (SOLDEPL_START+9)
-#define EDIT_DIRNAME (SOLDEPL_START+10)
-#define FT_DIRFLAG (SOLDEPL_START+11)
-#define EDIT_DIRFLAG (SOLDEPL_START+12)
-#define FT_DIRDEPS (SOLDEPL_START+13)
-#define EDIT_DIRDEPS (SOLDEPL_START+14)
-#define FT_DIRACTION (SOLDEPL_START+15)
-#define EDIT_DIRACTION (SOLDEPL_START+16)
-#define FT_DIRENV (SOLDEPL_START+17)
-#define EDIT_DIRENV (SOLDEPL_START+18)
-
-#define EDIT_HELP (SOLDEPL_START+19)
-
-#define DLG_VERSIONSELECT (SOLDEPL_START+20)
-#define DLG_VERSIONSELECT_LISTBOX (SOLDEPL_START+21)
-#define DLG_VERSIONSELECT_GROUP (SOLDEPL_START+22)
-#define DLG_VERSIONSELECT_OK (SOLDEPL_START+23)
-#define DLG_VERSIONSELECT_CANCEL (SOLDEPL_START+24)
-#define DLG_MINORSELECT_EDIT (SOLDEPL_START+33)
-#define DLG_MINORSELECT_GROUP (SOLDEPL_START+34)
-#define DLG_AUTOARRANGE (SOLDEPL_START+25)
-#define DLG_AUTOARRANGE_GROUP (SOLDEPL_START+26)
-#define DLG_AUTOARRANGE_TEXT_MODULE (SOLDEPL_START+27)
-#define DLG_AUTOARRANGE_TEXT_OVERALL (SOLDEPL_START+28)
-
-#define DLG_FIND_PROJECT (SOLDEPL_START+29)
-#define DLG_FIND_PROJECT_OK (SOLDEPL_START+30)
-#define DLG_FIND_PROJECT_CANCEL (SOLDEPL_START+31)
-#define DLG_FIND_PROJECT_COMBOBOX (SOLDEPL_START+32)
-
-#define TID_SOLDEP_MAIN (SOLDEPL_START+20000)
-#define TID_SOLDEP_OPEN (TID_SOLDEP_MAIN+1)
-#define TID_SOLDEP_SAVE (TID_SOLDEP_MAIN+2)
-#define TID_SOLDEP_FIND (TID_SOLDEP_MAIN+3)
-#define TID_SOLDEP_HIDE_INDEPENDEND (TID_SOLDEP_MAIN+4)
-#define TID_SOLDEP_SELECT_WORKSPACE (TID_SOLDEP_MAIN+5)
-#define TID_SOLDEP_BACK (TID_SOLDEP_MAIN+6)
-#define TID_SOLDEP_CREATEMETA (TID_SOLDEP_MAIN+7)
-#define TID_SMALL_PIN_PINED (TID_SOLDEP_MAIN+100)
-#define TID_SMALL_PIN_UNPINED (TID_SOLDEP_MAIN+101)
diff --git a/soldep/inc/soldep/soldlg.hxx b/soldep/inc/soldep/soldlg.hxx
deleted file mode 100644
index f59140f5ed95..000000000000
--- a/soldep/inc/soldep/soldlg.hxx
+++ /dev/null
@@ -1,163 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _FMRWRK_SOLDLG_HXX
-#define _FMRWRK_SOLDLG_HXX
-
-#include <vcl/wintypes.hxx>
-#include <vcl/button.hxx>
-#include <vcl/dialog.hxx>
-#include <vcl/msgbox.hxx>
-#include <vcl/edit.hxx>
-#include <svtools/svmedit.hxx>
-#include <svtools/prgsbar.hxx>
-#include <vcl/fixed.hxx>
-#include <vcl/lstbox.hxx>
-#include <vcl/group.hxx>
-#include <vcl/combobox.hxx>
-
-// forwards
-class GenericInformationList;
-
-//
-// class SolNewProjectDlg
-//
-
-class SolNewProjectDlg : public ModalDialog
-{
-public:
- OKButton maOkButton;
- CancelButton maCancelButton;
- FixedText maFTName;
- Edit maEName;
- FixedText maFTShort;
- Edit maEShort;
- FixedText maFTDeps;
- Edit maEDeps;
-
- SolNewProjectDlg( Window* pParent, const ResId& rResId );
- DECL_LINK( OkHdl, Button* pOkBtn );
- DECL_LINK( CancelHdl, Button* pCancelBtn );
-};
-
-//
-// SolNewDirectoryDlg
-//
-
-class SolNewDirectoryDlg : public ModalDialog
-{
-public:
- OKButton maOkButton;
- CancelButton maCancelButton;
- FixedText maFTName;
- Edit maEName;
- FixedText maFTFlag;
- Edit maEFlag;
- FixedText maFTDeps;
- Edit maEDeps;
- FixedText maFTAction;
- Edit maEAction;
- FixedText maFTEnv;
- Edit maEEnv;
-
- SolNewDirectoryDlg( Window* pParent, const ResId& rResId );
- DECL_LINK( OkHdl, Button* pOkBtn );
- DECL_LINK( CancelHdl, Button* pCancelBtn );
-};
-
-//
-// SolHelpDlg
-//
-
-class SolHelpDlg : public ModalDialog
-{
-public:
- OKButton maOkButton;
- MultiLineEdit maMLEHelp;
-
- SolHelpDlg( Window* pParent, const ResId& rResId );
- DECL_LINK( OkHdl, Button* pOkBtn );
-};
-
-//
-// class SolSelectVersionDlg
-//
-
-class SolSelectVersionDlg : public ModalDialog
-{
-private:
- ListBox maVersionListBox;
- GroupBox maVersionGroupBox;
- Edit maMinorEditBox;
- GroupBox maMinorGroupBox;
- OKButton maOKButton;
- CancelButton maCancelButton;
- ByteString msVersionMajor;
- ByteString msVersionMinor;
-
-public:
- SolSelectVersionDlg( Window *pParent, GenericInformationList *pStandLst );
- ByteString GetVersionMajor();
- ByteString GetVersionMinor();
- DECL_LINK( DoubleClickHdl, ListBox * );
-};
-
-class SolAutoarrangeDlg : public ModelessDialog
-{
-private:
- GroupBox maGroupBox;
- FixedText maModuleText;
- FixedText maOverallText;
- ProgressBar maModuleBar;
- ProgressBar maOverallBar;
-
-public:
- SolAutoarrangeDlg( Window *pParent );
-
- ProgressBar *GetSubBar() { return &maModuleBar; }
- ProgressBar *GetMainBar() { return &maOverallBar; }
-
- FixedText *GetSubText() { return &maModuleText; }
- FixedText *GetMainText() { return &maOverallText; }
-};
-
-class SolFindProjectDlg : public ModalDialog
-{
-private:
- ComboBox maCombobox;
- OKButton maOKButton;
- CancelButton maCancelButton;
-
-public:
- SolFindProjectDlg( Window *pParent, ObjWinList* pObjList );
- ByteString GetProject();
-};
-
-#endif // _FMRWRK_SOLDLG_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/inc/soldep/tbox.hxx b/soldep/inc/soldep/tbox.hxx
deleted file mode 100644
index 970f9557fd41..000000000000
--- a/soldep/inc/soldep/tbox.hxx
+++ /dev/null
@@ -1,105 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _SOLDEPTBOX_HXX
-#define _SOLDEPTBOX_HXX
-
-#include <vcl/toolbox.hxx>
-#include <vcl/menu.hxx>
-
-class SoldepToolBox : public ToolBox
-{
-protected:
-// USHORT nBuildServerToolBoxId;
- BOOL bDockable;
- BOOL bCloseMode;
- BOOL bOldFloatMode;
- BOOL bBoxIsVisible;
- BOOL bPin;
- BOOL bPinable;
-
- PopupMenu aMenu;
-
- Rectangle aOutRect;
- Rectangle aInRect;
-
- Link aResizeHdl;
- Link aMouseDownHdl;
-
- Bitmap aPinedBitmap;
- Bitmap aUnpinedBitmap;
-
- void InitContextMenu();
-
-public:
- SoldepToolBox( Window* pParent, const ResId& aId, BOOL bDAble = TRUE );
- ~SoldepToolBox();
-
- virtual void Command( const CommandEvent& rCEvt);
- virtual void CallContextMenu( Window *pWin, Point aPos );
- virtual void Paint( const Rectangle& rRect );
- virtual void MouseButtonDown(const MouseEvent& rEvent);
- virtual void MouseButtonUp(const MouseEvent& rEvent);
- virtual void MouseMove(const MouseEvent& rEvent);
-
- virtual void ToggleFloatingMode();
-// void SetFloatingWindow( FloatingWindow* pFW) { ToolBox::mpFloatWin = pFW; }
- virtual void StartDocking();
- virtual void EndDocking( const Rectangle& rRect, BOOL bFloatMode );
- virtual BOOL Close();
- virtual void CloseDockingMode();
-
- //Called when toolbar droped
- virtual void Tracking( const TrackingEvent &rTEvt ) { Invalidate(); ToolBox::Tracking( rTEvt );}
-
- virtual void Move();
-
- using DockingWindow::SetPosSizePixel;
- void SetPosSizePixel( const Point& rNewPos,
- const Size& rNewSize );
-
- void SetDockingRects( const Rectangle& rOutRect,
- const Rectangle& rInRect );
-
- void SetMouseDownHdl(const Link& rLink) { aMouseDownHdl = rLink; }
- Link GetMouseDownHdl() { return aMouseDownHdl; }
- void SetResizeHdl(const Link& rLink) { aResizeHdl = rLink; }
-
- BOOL IsBoxVisible() { return bBoxIsVisible; }
-
- void EnablePin( BOOL bEnable = TRUE ) { bPinable = bEnable; Invalidate(); }
- BOOL GetPin();
- void TogglePin();
- void SetPin(BOOL bP);
- PopupMenu *GetContextMenu();
- DECL_LINK( MenuSelectHdl, Menu * );
-};
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/prj/build.lst b/soldep/prj/build.lst
deleted file mode 100644
index 636c244ab358..000000000000
--- a/soldep/prj/build.lst
+++ /dev/null
@@ -1,5 +0,0 @@
-dp soldep : svtools NULL
-dp soldep usr1 - all dp_mkout NULL
-dp soldep\bootstrp nmake - all dp_btstrp NULL
-dp soldep\source nmake - all dp_soldep dp_btstrp NULL
-
diff --git a/soldep/prj/d.lst b/soldep/prj/d.lst
deleted file mode 100644
index 73301a558e61..000000000000
--- a/soldep/prj/d.lst
+++ /dev/null
@@ -1,38 +0,0 @@
-mkdir: %_DEST%\inc%_EXT%\soldep
-mkdir: %_DEST%\inc%_EXT%\bootstrp2
-mkdir: %COMMON_DEST%\bin%_EXT%\additional
-mkdir: %COMMON_DEST%\res%_EXT%\img\additional
-
-..\inc\soldep\sdtresid.hxx %_DEST%\inc%_EXT%\soldep\sdtresid.hxx
-..\%__SRC%\bin\soldepl.exe %_DEST%\bin%_EXT%\soldepl.exe
-..\%__SRC%\bin\bootstrpdt?????.dll %_DEST%\bin%_EXT%\bootstrpdt?????.dll
-..\%__SRC%\bin\soldep?????.dll %_DEST%\bin%_EXT%\soldep?????.dll
-..\%__SRC%\lib\libbootstrpdt*.* %_DEST%\lib%_EXT%
-..\%__SRC%\lib\libsoldep*.* %_DEST%\lib%_EXT%
-..\%__SRC%\slb\*.a %_DEST%\lib%_EXT%\*.a
-
-..\util\perl.mk %_DEST%\inc%_EXT%\soldep\perl.mk
-
-..\inc\soldep\soldep.hxx %_DEST%\inc%_EXT%\soldep\soldep.hxx
-..\inc\soldep\soldlg.hxx %_DEST%\inc%_EXT%\soldep\soldlg.hxx
-..\inc\soldep\hashtbl.hxx %_DEST%\inc%_EXT%\soldep\hashtbl.hxx
-..\inc\soldep\depper.hxx %_DEST%\inc%_EXT%\soldep\depper.hxx
-..\inc\soldep\objwin.hxx %_DEST%\inc%_EXT%\soldep\objwin.hxx
-..\inc\soldep\connctr.hxx %_DEST%\inc%_EXT%\soldep\connctr.hxx
-..\inc\soldep\depwin.hxx %_DEST%\inc%_EXT%\soldep\depwin.hxx
-..\inc\soldep\graphwin.hxx %_DEST%\inc%_EXT%\soldep\graphwin.hxx
-..\inc\soldep\tbox.hxx %_DEST%\inc%_EXT%\soldep\tbox.hxx
-..\inc\soldep\hashobj.hxx %_DEST%\inc%_EXT%\soldep\hashobj.hxx
-..\inc\minormk.hxx %_DEST%\inc%_EXT%\soldep\minormk.hxx
-..\inc\soldep\prj.hxx %_DEST%\inc%_EXT%\soldep\prj.hxx
-..\inc\dep.hxx %_DEST%\inc%_EXT%\soldep\dep.hxx
-..\inc\prodmap.hxx %_DEST%\inc%_EXT%\soldep\prodmap.hxx
-..\inc\appdef.hxx %_DEST%\inc%_EXT%\soldep\appdef.hxx
-..\inc\soldep\soldlg.hrc %_DEST%\inc%_EXT%\soldep\soldlg.hrc
-
-..\%__SRC%\lib\soldep.lib %_DEST%\lib%_EXT%\soldep.lib
-..\%__SRC%\lib\bootstrpdt.lib %_DEST%\lib%_EXT%\bootstrpdt.lib
-
-..\%__SRC%\lib\lib*static*.dylib %_DEST%\lib%_EXT%\lib*static*.dylib
-..\%__SRC%\bin\dep*.res %COMMON_DEST%\bin%_EXT%\additional\dep*.res
-
diff --git a/soldep/source/connctr.cxx b/soldep/source/connctr.cxx
deleted file mode 100644
index 348657eba41f..000000000000
--- a/soldep/source/connctr.cxx
+++ /dev/null
@@ -1,275 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifdef _MSC_VER
-#pragma warning(disable:4100)
-#endif
-#include <soldep/connctr.hxx>
-#include <soldep/objwin.hxx>
-#include <soldep/depwin.hxx>
-#include "math.h"
-
-BOOL Connector::msbHideMode = FALSE;
-
-Connector::Connector( DepWin* pParent, WinBits nWinStyle ) :
-mpStartWin( 0L ),
-mpEndWin( 0L ),
-mnStartId( 0 ),
-mnEndId( 0 ),
-bVisible( FALSE ),
-len( 70 )
-{
- mpParent = pParent;
- if ( mpParent )
- mpParent->AddConnector( this );
-}
-
-Connector::~Connector()
-{
- if ( mpStartWin )
- mpStartWin->RemoveConnector( this );
- if ( mpEndWin )
- mpEndWin->RemoveConnector( this );
- if ( mpParent )
- mpParent->RemoveConnector( this );
- mpParent->Invalidate( Rectangle( mStart, mEnd ));
- mpParent->Invalidate( Rectangle( mEnd - Point( 3, 3), mEnd + Point( 3, 3)));
-}
-
-void Connector::Initialize( ObjectWin* pStartWin, ObjectWin* pEndWin, BOOL bVis )
-{
- mpStartWin = pStartWin;
- mpEndWin = pEndWin;
- mpStartWin->AddConnector( this );
- mpEndWin->AddConnector( this );
- mCenter = GetMiddle();
- mStart = pStartWin->GetFixPoint( mCenter );
- mEnd = pEndWin->GetFixPoint( mCenter );
- mnStartId = pStartWin->GetId();
- mnEndId = pEndWin->GetId();
- bVisible = bVis;
-
-// if ( mpParent->IsPaintEnabled())
- if ( IsVisible() )
- {
- mpParent->DrawLine( mEnd, mStart );
- mpParent->DrawEllipse( Rectangle( mEnd - Point( 2, 2), mEnd + Point( 2, 2)));
- }
- UpdateVisibility(); //null_Project
-}
-
-void Connector::UpdateVisibility()
-{
- bVisible = mpStartWin->IsVisible() && mpEndWin->IsVisible();
-}
-
-
-Point Connector::GetMiddle()
-{
- Point aStartPoint = mpStartWin->GetPosPixel();
- Size aStartSize = mpStartWin->GetSizePixel();
- int nMoveHorz, nMoveVert;
- aStartPoint.Move( aStartSize.Width() / 2, aStartSize.Height() / 2 );
-
- Point aEndPoint = mpEndWin->GetPosPixel();
- Size aEndSize = mpEndWin->GetSizePixel();
-
- aEndPoint.Move( aEndSize.Width() / 2, aEndSize.Height() / 2 );
-
- Point aRetPoint = aEndPoint;
-
- nMoveHorz = aStartPoint.X() - aEndPoint.X();
- if ( nMoveHorz )
- nMoveHorz /= 2;
- nMoveVert = aStartPoint.Y() - aEndPoint.Y();
- if ( nMoveVert )
- nMoveVert /= 2;
- aRetPoint.Move( nMoveHorz, nMoveVert );
- return aRetPoint;
-
-}
-
-void Connector::Paint( const Rectangle& rRect )
-{
- //MyApp *pApp = (MyApp*)GetpApp();
- //SolDep *pSoldep = pApp->GetSolDep();
- if (msbHideMode)
- {
- if (!(mpStartWin->IsNullObject())) //null_project
- {
- if ( mpStartWin->GetMarkMode() == 0 || mpStartWin->GetMarkMode() == MARKMODE_DEPENDING )
- {
- mpStartWin->SetViewMask(0); //objwin invisible
- } else
- {
- mpStartWin->SetViewMask(1); //objwin visible
- }
- }
- if (!(mpEndWin->IsNullObject()))
- {
- if ( mpEndWin->GetMarkMode() == 0 || mpEndWin->GetMarkMode() == MARKMODE_DEPENDING )
- {
- mpEndWin->SetViewMask(0); //objwin invisible
- } else
- {
- mpEndWin->SetViewMask(1); //objwin visible
- }
- }
- UpdateVisibility();
- } else //IsHideMode
- {
- //bVisible = TRUE;
- if (!(mpStartWin->IsNullObject())) //null_project
- {
- mpStartWin->SetViewMask(1);
- }
- if (!(mpEndWin->IsNullObject())) //null_project
- {
- mpEndWin->SetViewMask(1);
- }
- UpdateVisibility();
- }
- if ( (mpStartWin->GetBodyText() != ByteString("null")) && //null_project
- (mpEndWin->GetBodyText() != ByteString("null")) && IsVisible()) //null_project
- {
- mpParent->DrawLine( mEnd, mStart );
- mpParent->DrawEllipse( Rectangle( mEnd - Point( 2, 2), mEnd + Point( 2, 2)));
- }
-}
-
-void Connector::DrawOutput( OutputDevice* pDevice, const Point& rOffset )
-{
- if ( (mpStartWin->GetBodyText() != ByteString("null")) && //null_project
- (mpEndWin->GetBodyText() != ByteString("null")) && IsVisible()) //null_project
- {
- pDevice->DrawLine( pDevice->PixelToLogic( mEnd ) - rOffset, pDevice->PixelToLogic( mStart ) - rOffset );
- Rectangle aRect( pDevice->PixelToLogic( Rectangle( mEnd - Point( 2, 2), mEnd + Point( 2, 2) ) ) );
- aRect.Move( -rOffset.X(), -rOffset.Y() );
- pDevice->DrawEllipse( aRect );
- }
-}
-
-void Connector::UpdatePosition( ObjectWin* pWin, BOOL bPaint )
-{
-// more than one call ?
-//
- Point OldStart, OldEnd;
- static ULONG nCallCount = 0;
-
- //MyApp *pApp = (MyApp*)GetpApp();
- //SolDep *pSoldep = pApp->GetSolDep();
- if (msbHideMode)
- bVisible = 1;
-
- if ( nCallCount ) // only one call
- nCallCount++;
- else
- {
- nCallCount++;
- while ( nCallCount )
- {
- if ( bPaint )
- {
- OldStart = mStart;
- OldEnd = mEnd;
- }
- mCenter = GetMiddle();
- mStart=mpStartWin->GetFixPoint( mCenter, bPaint );
- mEnd=mpEndWin->GetFixPoint( mCenter, bPaint );
- if ( bPaint )
- {
- mpParent->Invalidate( Rectangle( OldStart, OldEnd ));
- mpParent->Invalidate( Rectangle( OldEnd - Point( 2, 2), OldEnd + Point( 2, 2)));
-//Don't paint "null_project" connectors
- if ( (mpStartWin->GetBodyText() != ByteString("null")) && //null_project
- (mpEndWin->GetBodyText() != ByteString("null"))) //null_project
- {
- Paint ( Rectangle( mEnd - Point( 3, 3), mEnd + Point( 3, 3)));
- Paint ( Rectangle( mEnd, mStart ));
- }
- }
- nCallCount--;
- }
- }
-}
-
-USHORT Connector::Save( SvFileStream& rOutFile )
-{
- rOutFile << mpStartWin->GetId();
- rOutFile << mpEndWin->GetId();
-
- return 0;
-}
-
-USHORT Connector::Load( SvFileStream& rInFile )
-{
- rInFile >> mnStartId;
- rInFile >> mnEndId;
-
- return 0;
-}
-
-ObjectWin* Connector::GetOtherWin( ObjectWin* pWin )
-{
-// get correspondent object ptr
- if ( mpStartWin == pWin )
- return mpEndWin;
- else
- if ( mpEndWin == pWin )
- return mpStartWin;
-
- return NULL;
-}
-
-ULONG Connector::GetOtherId( ULONG nId )
-{
-// get correspondent object id
- if ( mnStartId == nId )
- return mnEndId;
- else
- if ( mnEndId == nId )
- return mnStartId;
-
- return NULL;
-}
-
-ULONG Connector::GetLen()
-{
- double dx, dy;
-
- dx = mStart.X() - mEnd.X();
- dy = mStart.Y() - mEnd.Y();
-
- return (ULONG) sqrt( dx * dx + dy * dy );
-}
-
-BOOL Connector::IsStart( ObjectWin* pWin )
-{
- return pWin == mpStartWin;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/depapp.cxx b/soldep/source/depapp.cxx
deleted file mode 100644
index 91a7b66cc10a..000000000000
--- a/soldep/source/depapp.cxx
+++ /dev/null
@@ -1,150 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// -----------------------------------------------------------------------
-#include "depapp.hxx"
-#include <ucbhelper/contentbroker.hxx>
-#include <ucbhelper/configurationkeys.hxx>
-
-void MyApp::Main()
-{
-#if defined(WNT)
- pDebugFile = fopen( "fprintf.out", "w" );
-#endif
-
- pMyApp = GetpApp();
- MyWin aMainWin( NULL, WB_APP | WB_STDWORK );
- pAppWindow = &aMainWin;
- // pToolBarFrame = new FloatingWindow( aMainWin, WB_STDWORK );
- //pToolBox = new ToolBox(pToolBarFrame,DtSodResId(TID_SOLDEP_MAIN));
-
- pSolDep = new SolDep( &aMainWin );
- pSolDep->Init();
- aMainWin.SetText( String::CreateFromAscii( SOLDEPL_NAME ));
- pSolDep->Hide();
- aMainWin.Show();
- Help aHelp;
- SetHelp(&aHelp);
- aHelp.EnableContextHelp();
- aHelp.EnableQuickHelp();
- Execute();
- delete pResMgr;
- delete pSolDep;
-}
-
-// -----------------------------------------------------------------------
-
-MyWin::MyWin( Window* pParent, WinBits nWinStyle ) :
- WorkWindow( pParent, nWinStyle )//,aToolBox( this, DtSodResId(TID_SOLDEP_MAIN)),
- // depper aTaskBarFrame(this, 0)
-{
-//depper aTaskBarFrame.EnableAlwaysOnTop();
-
-//depper aMenuBar.InsertItem( 1, XubString( RTL_CONSTASCII_USTRINGPARAM( "~Source" ) ) );
-//depper aMenuBar.InsertItem( 2, XubString( RTL_CONSTASCII_USTRINGPARAM( "~Exit" ) ) );
-//depper SetMenuBar( &aMenuBar );
-//depper aToolBox.SetPosSizePixel( Point( 0,0 ), Size( 1100,35 ));
-// aToolBox.Show();
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::MouseMove( const MouseEvent& rMEvt )
-{
- WorkWindow::MouseMove( rMEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::MouseButtonDown( const MouseEvent& rMEvt )
-{
- WorkWindow::MouseButtonDown( rMEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::MouseButtonUp( const MouseEvent& rMEvt )
-{
- WorkWindow::MouseButtonUp( rMEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::KeyInput( const KeyEvent& rKEvt )
-{
- WorkWindow::KeyInput( rKEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::KeyUp( const KeyEvent& rKEvt )
-{
- WorkWindow::KeyUp( rKEvt );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::Paint( const Rectangle& rRect )
-{
- WorkWindow::Paint( rRect );
-}
-
-// -----------------------------------------------------------------------
-
-void MyWin::Resize()
-{
- ((MyApp*)GetpApp())->GetSolDep()->Resize();
- WorkWindow::Resize();
-}
-
-SAL_IMPLEMENT_MAIN()
-{
- //Reference< XMultiServiceFactory > xMS;
-
- // for this to work make sure an <appname>.ini file is available, you can just copy soffice.ini
- Reference< XComponentContext > xComponentContext = ::cppu::defaultBootstrap_InitialComponentContext();
-
- //xMS = cppu::createRegistryServiceFactory(
- // rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "applicat.rdb" ) ), sal_True );
-
- Reference< XMultiServiceFactory > xMS( xComponentContext->getServiceManager(), UNO_QUERY);
-
- InitVCL( xMS );
- ::comphelper::setProcessServiceFactory(xMS);
- com::sun::star::uno::Sequence< com::sun::star::uno::Any > aArgs(2);
- aArgs[0] <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( UCB_CONFIGURATION_KEY1_LOCAL ));
- aArgs[1] <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( UCB_CONFIGURATION_KEY2_OFFICE ));
-
- ::ucbhelper::ContentBroker::initialize( xMS, aArgs );
-
- aMyApp.Main();
- DeInitVCL();
- return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/depapp.hxx b/soldep/source/depapp.hxx
deleted file mode 100644
index c8ed95376e13..000000000000
--- a/soldep/source/depapp.hxx
+++ /dev/null
@@ -1,111 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _DEPAPP_HXX
-#define _DEPAPP_HXX
-
-
-#define EVENT_RESIZE 0x00000001
-
-
-#include <svl/solar.hrc>
-#include <tools/resmgr.hxx>
-#include <bootstrp/sstring.hxx>
-#include <vcl/event.hxx>
-#include <vcl/svapp.hxx>
-#include <vcl/wrkwin.hxx>
-#include <vcl/msgbox.hxx>
-#include <vcl/help.hxx>
-#include <vcl/button.hxx>
-#include <vcl/menu.hxx>
-#include <soldep/soldep.hxx>
-//#include <soldep/soldlg.hrc>
-//#include <soldep/tbox.hxx>
-// -----------------------------------------------------------------------
-#include <sal/main.h>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <comphelper/processfactory.hxx>
-#include <cppuhelper/servicefactory.hxx>
-#include <cppuhelper/bootstrap.hxx>
-#include <cppuhelper/weak.hxx>
-#include <soldep/soldep.hxx>
-
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-class MyWin;
-
-class MyApp : public Application
-{
- ResMgr* pResMgr;
- SolDep* pSolDep;
- Application* pMyApp;
- MyWin* pAppWindow;
-
-public:
-// MyApp();
-// ~MyApp() {};
-#if defined(WNT)
- FILE* pDebugFile;
-#endif
-
- void Main();
- ResMgr* GetResMgr() const { return pResMgr; }
- Application* GetMyApp() { return pMyApp; }
- MyWin* GetAppWin() { return pAppWindow; }
- SolDep* GetSolDep() { return pSolDep; }
-};
-
-// -----------------------------------------------------------------------
-
-class MyWin : public WorkWindow
-{
-protected:
- MenuBar aMenuBar;
-// SoldepToolBox aToolBox; //->depper.hxx
- Wallpaper aWallpaper;
-// FloatingWindow aTaskBarFrame; // For ToolBox
-
-public:
- MyWin( Window* pParent, WinBits nWinStyle );
-
- void MouseMove( const MouseEvent& rMEvt );
- void MouseButtonDown( const MouseEvent& rMEvt );
- void MouseButtonUp( const MouseEvent& rMEvt );
- void KeyInput( const KeyEvent& rKEvt );
- void KeyUp( const KeyEvent& rKEvt );
- void Paint( const Rectangle& rRect );
- void Resize();
-// FloatingWindow* GetTaskBarFrame() { return &aTaskBarFrame; }
-// SoldepToolBox* GetSoldepToolBox() { return &aToolBox; }
-
-};
-static MyApp aMyApp;
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/depper.cxx b/soldep/source/depper.cxx
deleted file mode 100644
index 0b9456a820cc..000000000000
--- a/soldep/source/depper.cxx
+++ /dev/null
@@ -1,689 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-
-#include <stdio.h>
-#include <tools/stream.hxx>
-#include <tools/debug.hxx>
-#include <vcl/msgbox.hxx>
-#include <svtools/prgsbar.hxx>
-
-#include <soldep/depper.hxx>
-#include <soldep/objwin.hxx>
-
-#include "math.h"
-#include "time.h"
-#include "stdlib.h"
-#include "dtsodcmp.hrc"
-
-#include <vcl/svapp.hxx>
-
-#define MIN(a,b) (a)<(b)?(a):(b)
-#define MAX(a,b) (a)>(b)?(a):(b)
-
-ByteString sDelimiterLine("#==========================================================================");
-
-
-
-
-Depper::Depper( Window* pBaseWindow ):
- Window( pBaseWindow ),
- mbIsPrjView(FALSE),
- maDefPos( 50, 50 ),
- maDefSize( 60, 25 ),
- mnViewMask( 1 ),
- pSubBar( NULL ),
- pMainBar( NULL ),
- pSubText( NULL ),
- pMainText( NULL ),
- maArrangeDlg( pBaseWindow ),
- mpPrjIdMapper( NULL ),
- maToolBox( pBaseWindow, DtSodResId(TID_SOLDEP_MAIN) ),
- maTaskBarFrame( pBaseWindow, 0)
-{
- maArrangeDlg.Hide();
-
- mpProcessWin = pBaseWindow;
- mpGraphWin = new GraphWin( mpProcessWin, this );
- mpGraphPrjWin = new GraphWin( mpProcessWin, this );
- //mpBaseWin paints into virtual OutputDevice
- mpBaseWin = new DepWin( mpGraphWin->GetBufferWindow(), WB_NOBORDER | WB_SIZEABLE | WB_AUTOSIZE );
- mpBasePrjWin = new DepWin( mpGraphPrjWin->GetBufferWindow(), WB_NOBORDER | WB_SIZEABLE | WB_AUTOSIZE );
-
- mpGraphWin->SetBackground( Wallpaper( Color( COL_RED )));
- mpGraphPrjWin->SetBackground( Wallpaper( Color( COL_BLUE )));
- mpGraphPrjWin->Hide();
- mpBaseWin->SetBackground( Wallpaper( Color( COL_WHITE )));
- mpBasePrjWin->SetBackground( Wallpaper( Color( COL_LIGHTGRAY )));
-/*
- mpGraphWin->SetZOrder( NULL, WINDOW_ZORDER_FIRST );
- mpGraphPrjWin->SetZOrder( NULL, WINDOW_ZORDER_FIRST );
- mpBaseWin->SetZOrder( NULL, WINDOW_ZORDER_FIRST );
-*/
- mpGraphWin->EnableClipSiblings();
- mpGraphPrjWin->EnableClipSiblings();
-
- mpParentProcessWin = mpProcessWin->GetParent();
- mpBaseWin->Show();
- nZoomed = 0;
-
- mpBaseWin->SetPopupHdl( this );
- mpBasePrjWin->SetPopupHdl( this );
-
- mpObjectList = new ObjectList(); //ObjectList unbekannt
- mpObjectPrjList = new ObjectList();
-}
-
-Depper::~Depper()
-{
-// delete mpObjectList;
- delete mpBaseWin;
- delete mpGraphWin;
-}
-
-BOOL Depper::TogglePrjViewStatus()
-{
- GetDepWin()->Hide(); //Hide old content window
- GetGraphWin()->Hide();
- mbIsPrjView = !mbIsPrjView; //switch now
- GetDepWin()->Invalidate();
- GetGraphWin()->Show();
- GetDepWin()->Show(); //Show new content window
- return mbIsPrjView;
-}
-
-void Depper::HideObjectsAndConnections( ObjectList* pObjLst )
-{
- for ( ULONG i = 0; i < pObjLst->Count(); i ++ ) {
- ObjectWin *pWin = pObjLst->GetObject( i );
- pWin->Hide();
- }
- mpGraphWin->Hide();
- mpBaseWin->Hide();
- mpGraphPrjWin->Show();
- mpBasePrjWin->Show();
-}
-
-void Depper::ShowObjectsAndConnections( ObjectList* pObjLst )
-{
- for ( ULONG i = 0; i < pObjLst->Count(); i ++ ) {
- ObjectWin *pWin = pObjLst->GetObject( i );
- pWin->Show();
- }
- mpBasePrjWin->Hide();
- mpGraphPrjWin->Hide();
- mpGraphWin->Show();
- mpBaseWin->Show();
-}
-
-
-void Depper::RemoveAllObjects( ObjectList* pObjLst )
-{
- ULONG i;
-
- for ( i = pObjLst->Count(); i > 0; i-- )
- delete pObjLst->GetObject( i - 1 );
- pObjLst->Clear();
-}
-
-USHORT Depper::Save( const ByteString& rFileName )
-{
- DBG_ASSERT( FALSE , "you are dead!" );
- SvFileStream aOutFile( String( rFileName, RTL_TEXTENCODING_UTF8 ), STREAM_WRITE );
- depper_head dh;
- USHORT i;
- ULONG nObjCount = mpObjectList->Count();
-
- ConnectorList* pConList = GetDepWin()->GetConnectorList();
- ULONG nCnctrCount = pConList->Count();
-
- dh.nID = DEPPER_ID;
- dh.nObjectCount = nObjCount;
- dh.nCnctrCount = nCnctrCount;
-
- aOutFile.Write( &dh, sizeof( dh ));
-
- for ( i=0; i < nObjCount ; i++ )
- {
- mpObjectList->GetObject( i )->Save( aOutFile );
- }
-
- for ( i=0; i < nCnctrCount ; i++ )
- {
- pConList->GetObject( i )->Save( aOutFile );
- }
-
- return 0;
-}
-
-
-USHORT Depper::WriteSource()
-{
- DBG_ASSERT( FALSE , "overload it!" );
- return 0;
-};
-
-USHORT Depper::ReadSource( BOOL bUpdater )
-{
- DBG_ASSERT( FALSE , "overload it!" );
- return 0;
-};
-
-USHORT Depper::OpenSource()
-{
- DBG_ASSERT( FALSE , "overload it!" );
- return 0;
-};
-
-ObjectWin* Depper::ObjIdToPtr( ObjectList* pObjLst, ULONG nId )
-{
- ULONG nObjCount = pObjLst->Count();
- ULONG i = 0;
- ObjectWin* pWin;
- ULONG nWinId = 0;
-
- do
- {
- pWin = pObjLst->GetObject( i );
- nWinId = pWin->GetId();
- i++;
- }
- while( i < nObjCount && pWin->GetId() != nId );
- if ( pWin->GetId() == nId )
- return pWin;
- else
- return NULL;
-}
-
-void Depper::SetMainProgressBar( USHORT i)
-{
- if ( pMainBar ) {
- pMainBar->SetValue( 100 );
- pMainBar->Update();
- }
-}
-
-void Depper::UpdateMainProgressBar(USHORT i, USHORT nScaleVal, USHORT &nStep, BOOL bCountingDown )
-{
- ULONG val = 0;
- if ( pMainBar ) {
- // val = i * 50 / nScaleVal + 1;
- val = bCountingDown ? 50 + ( nScaleVal - i ) * 50 / nScaleVal : i * 50 / nScaleVal;
-
- pMainBar->SetValue( val );
- pMainBar->Update();
- String sText( String::CreateFromAscii( "Optimize step " ));
- sText += String::CreateFromInt32( ++nStep );
- pSubText->SetText( sText );
- }
-}
-
-void Depper::UpdateSubProgrssBar(ULONG i)
-{
- if ( pSubBar )
- {
- pSubBar->SetValue( i );
- pSubBar->Update();
- GetpApp()->Reschedule();
- }
-}
-
-
-USHORT Depper::AutoArrangeDlgStart()
-{
- pSubBar = maArrangeDlg.GetSubBar();
- pMainBar = maArrangeDlg.GetMainBar();
- pSubText = maArrangeDlg.GetSubText();
- pMainText = maArrangeDlg.GetMainText();
- pMainText->SetText( String::CreateFromAscii( "Overall status" ));
- maArrangeDlg.Show();
- GetDepWin()->Enable( FALSE );
- GetDepWin()->Hide();
- return 0;
-}
-
-USHORT Depper::AutoArrangeDlgStop()
-{
- maArrangeDlg.Hide();
- GetDepWin()->Enable( TRUE );
- GetDepWin()->Show();
- pSubBar = NULL;
- pMainBar = NULL;
- pSubText = NULL;
- pMainText = NULL;
- return 0;
-}
-
-
-
-USHORT Depper::Zoom( MapMode& rMapMode )
-{
- ULONG i;
- ObjectWin* pWin;
- Point aPos;
- Size aSize;
- ObjectList* pObjList;
- pObjList = GetObjectList();
-// aSize = mpBaseWin->GetSizePixel();
-// mpGraphWin->SetTotalSize( aSize );
-// mpGraphWin->EndScroll( 0, 0 );
-
- for ( i = pObjList->Count(); i > 0; i-- )
- {
- pWin = pObjList->GetObject( i - 1 );
- aPos = pWin->PixelToLogic( pWin->GetPosPixel());
- aSize = pWin->PixelToLogic( pWin->GetSizePixel());
- pWin->SetMapMode( rMapMode );
- aPos = pWin->LogicToPixel( aPos );
- aSize = pWin->LogicToPixel( aSize );
- pWin->SetPosSizePixel( aPos, aSize );
- }
- GetDepWin()->Invalidate();
- return 0;
-}
-
-ULONG Depper::AddObjectToList( DepWin* pParentWin, ObjectList* pObjLst, ULONG &LastID, ULONG &WinCount, ByteString& rBodyText, BOOL bInteract )
-{
- Point aPos;
- Size aSize = GetDefSize();
-
- aPos = GetDepWin()->LogicToPixel( aPos );
- aSize = GetDepWin()->LogicToPixel( aSize );
- return AddObjectToList( pParentWin, pObjLst, LastID, WinCount, rBodyText, aPos, aSize );
-}
-
-ULONG Depper::AddObjectToList( DepWin* pParentWin, ObjectList* pObjLst, ULONG &LastID, ULONG &WinCount, ByteString& rBodyText, Point& rPos, Size& rSize )
-{
- ObjectWin* pWin = new ObjectWin( pParentWin, WB_BORDER );
- //pWin->mpDepperDontuseme = this;
- pWin->SetGlobalViewMask(mnViewMask); // Set ViewMask for all ObjectWin and Connector objects
-
- Size aNewSize;
- aNewSize.Width() = pWin->GetTextWidth( String( rBodyText, RTL_TEXTENCODING_UTF8 ));
- aNewSize.Height() = pWin->GetTextHeight();
- if ( aNewSize.Width() > rSize.Width() - 8 )
- {
- aNewSize.Width() = aNewSize.Width() + 8;
- aNewSize.Height() = rSize.Height();
- }
- else
- aNewSize = rSize;
- pWin->SetPosSizePixel( rPos,aNewSize);
-
- MapMode aMapMode = mpBaseWin->GetMapMode();
- pWin->SetMapMode( aMapMode );
-
- pObjLst->Insert( pWin, LIST_APPEND );
- pWin->SetId( LastID );
- LastID++;
- WinCount++;
- pWin->SetBodyText( rBodyText );
-// pWin->Show();
- return pWin->GetId();
-}
-
-/*void Depper::DrawOutput( OutputDevice* pDevice )
-{
- GetDepWin()->DrawOutput( pDevice );
- ObjectList* pObjList = GetObjectList();
- for ( USHORT i = pObjList->Count(); i > 0; i-- )
- {
- ObjectWin* pWin = pObjList->GetObject( i - 1 );
- pWin->DrawOutput( pDevice );
- }
-}*/
-
-ObjectWin* Depper::RemoveObjectFromList( ObjectList* pObjLst, ULONG &WinCount, USHORT nId, BOOL bDelete )
-{
- ObjectWin* pWin = ObjIdToPtr( pObjLst, nId );
-
- if ( pWin )
- {
- pObjLst->Remove( pWin );
- WinCount--;
- if( bDelete )
- delete pWin;
- return pWin;
- }
- else
- return NULL;
-}
-USHORT Depper::AddConnectorToObjects( ObjectList* pObjLst, ULONG nStartId, ULONG nEndId )
-{
- ObjectWin* pStartWin = ObjIdToPtr( pObjLst, nStartId );
-
- if ( !pStartWin )
- return DEP_STARTID_NOT_FOUND;
-
- ObjectWin* pEndWin = ObjIdToPtr( pObjLst, nEndId );
-
- if ( !pEndWin )
- return DEP_STARTID_NOT_FOUND;
-
- return AddConnectorToObjects( pStartWin, pEndWin );
-}
-
-USHORT Depper::RemoveConnectorFromObjects( ObjectList* pObjLst, ULONG nStartId, ULONG nEndId )
-{
-// DBG_ASSERT( FALSE , "noch nicht" );
- ObjectWin* pStartWin = ObjIdToPtr( pObjLst, nStartId );
-
- if ( !pStartWin )
- return DEP_STARTID_NOT_FOUND;
-
- ObjectWin* pEndWin = ObjIdToPtr( pObjLst, nEndId );
-
- if ( !pEndWin )
- return DEP_STARTID_NOT_FOUND;
-
- return RemoveConnectorFromObjects( pStartWin, pEndWin );
-}
-
-USHORT Depper::AddConnectorToObjects( ObjectWin* pStartWin, ObjectWin* pEndWin )
-{
- if ( pStartWin->ConnectionExistsInAnyDirection( pEndWin ))
- return 0;
-
- Connector* pCon = new Connector( GetDepWin(), WB_NOBORDER );
-// pCon->Initialize( pStartWin, pEndWin );
- if (pStartWin->IsNullObject()) //null_project
- pCon->Initialize( pStartWin, pEndWin, FALSE );
- else
- pCon->Initialize( pStartWin, pEndWin, TRUE );
- return 0;
-}
-
-USHORT Depper::RemoveConnectorFromObjects( ObjectWin* pStartWin, ObjectWin* pEndWin )
-{
- Connector* pCon = pStartWin->GetConnector( pStartWin->GetId(), pEndWin->GetId() );
-
- if ( !pCon )
- return DEP_CONNECTOR_NOT_FOUND;
- else
- {
- delete pCon;
- return DEP_OK;
- }
-}
-
-ULONG Depper::HandleNewPrjDialog( ByteString &rBodyText )
-{
- SolNewProjectDlg aNewProjectDlg( GetDepWin(), DtSodResId( RID_SD_DIALOG_NEWPROJECT ));
- if ( aNewProjectDlg.Execute() )
- {
- rBodyText = ByteString( aNewProjectDlg.maEName.GetText(), RTL_TEXTENCODING_UTF8);
-//hashtable auf stand halten
- MyHashObject* pHObject;
- ULONG nObjectId = AddObjectToList( mpBaseWin, mpObjectList, mnSolLastId, mnSolWinCount, rBodyText, FALSE );
- pHObject = new MyHashObject( nObjectId, ObjIdToPtr( mpObjectList, nObjectId ));
- mpSolIdMapper->Insert( rBodyText, pHObject );
-
- ByteString sTokenLine( aNewProjectDlg.maEShort.GetText(), RTL_TEXTENCODING_UTF8 );
- sTokenLine += '\t';
- sTokenLine += ByteString( aNewProjectDlg.maEName.GetText(), RTL_TEXTENCODING_UTF8 );
- sTokenLine += "\t:\t";
-
- ByteString sDeps = ByteString( aNewProjectDlg.maEDeps.GetText(), RTL_TEXTENCODING_UTF8 );
-
- if ( sDeps != "" )
- {
- USHORT i;
- ByteString sDepName;
- USHORT nToken = sDeps.GetTokenCount(' ');
- for ( i = 0 ; i < nToken ; i++)
- {
- sDepName = sDeps.GetToken( i, ' ' );
- sTokenLine += sDepName;
- sTokenLine +='\t';
- }
- }
- sTokenLine +="NULL";
-
- mpStarWriter->InsertTokenLine( sTokenLine );
- mpStarWriter->InsertTokenLine( sDelimiterLine );
-
- if ( sDeps != "" )
- {
- USHORT i;
- ByteString sDepName;
- ULONG nObjectId_l, nHashedId;
- MyHashObject* pHObject_l;
- USHORT nToken = sDeps.GetTokenCount(' ');
- for ( i = 0 ; i < nToken ; i++)
- {
- sDepName = sDeps.GetToken( i, ' ' );
-
- pHObject_l = mpSolIdMapper->Find( sDepName );
- if ( !pHObject_l )
- {
- String sMessage;
- sMessage += String::CreateFromAscii("can't find ");
- sMessage += String( sDepName, RTL_TEXTENCODING_UTF8 );
- sMessage += String::CreateFromAscii(".\ndependency ignored");
- WarningBox aBox( GetDepWin(), WB_OK, sMessage);
- aBox.Execute();
- }
- else
- {
- nHashedId = pHObject_l->GetId();
- pHObject_l = mpSolIdMapper->Find( rBodyText );
- nObjectId_l = pHObject_l->GetId();
- AddConnectorToObjects( mpObjectList, nHashedId, nObjectId_l );
- }
- }
- }
- return nObjectId;
- }
- return 0;
-}
-
-ULONG Depper::HandleNewDirectoryDialog(ByteString &rBodyText)
-{
- SolNewDirectoryDlg aNewDirectoryDlg( GetDepWin(), DtSodResId( RID_SD_DIALOG_NEWDIRECTORY ));
-//todo: set defaults
- if ( aNewDirectoryDlg.Execute() )
- {
- rBodyText = ByteString( aNewDirectoryDlg.maEFlag.GetText(), RTL_TEXTENCODING_UTF8 );
-//hashtable auf stand halten
- MyHashObject* pHObject;
- ULONG nObjectId = AddObjectToList( GetDepWin(), mpObjectPrjList, mnSolLastId, mnSolWinCount, rBodyText );
- pHObject = new MyHashObject( nObjectId, ObjIdToPtr( mpObjectPrjList, nObjectId ));
- mpPrjIdMapper->Insert( rBodyText, pHObject ); // mpPrjIdMapper
-
- String sTokenLine;
- sTokenLine = String( mpPrj->GetPreFix(), RTL_TEXTENCODING_UTF8 );
- sTokenLine += '\t';
- String sNameConvert = aNewDirectoryDlg.maEName.GetText();
- sNameConvert.SearchAndReplaceAll( '/', '\\' );
- if ( sNameConvert.GetToken( 0, 0x5c ) != String( mpPrj->GetProjectName(), RTL_TEXTENCODING_UTF8 ))
- {
- sTokenLine += String( mpPrj->GetProjectName(), RTL_TEXTENCODING_UTF8 );
- sTokenLine += String("\\", RTL_TEXTENCODING_UTF8 );
- sTokenLine += sNameConvert;
- }
- else
- sTokenLine += sNameConvert;
- sTokenLine += '\t';
- sTokenLine += aNewDirectoryDlg.maEAction.GetText();
- sTokenLine += String( "\t-\t", RTL_TEXTENCODING_UTF8 );
- sTokenLine += aNewDirectoryDlg.maEEnv.GetText();
- sTokenLine += '\t';
- sTokenLine += aNewDirectoryDlg.maEFlag.GetText();
- sTokenLine += '\t';
-
- sTokenLine += String( "NULL", RTL_TEXTENCODING_UTF8 );
-
- ByteString bsTokenLine = ByteString( sTokenLine, RTL_TEXTENCODING_UTF8 );
- mpStarWriter->InsertTokenLine( bsTokenLine );
-
- if ( aNewDirectoryDlg.maEDeps.GetText() != String( "", RTL_TEXTENCODING_UTF8 ))
- {
- USHORT i;
- ByteString sDeps = ByteString( aNewDirectoryDlg.maEDeps.GetText(), RTL_TEXTENCODING_UTF8 );
- ByteString sDepName;
- ULONG nObjectId_l, nHashedId;
- MyHashObject* pHObject_l;
- USHORT nToken = sDeps.GetTokenCount(' ');
- for ( i = 0 ; i < nToken ; i++)
- {
- sDepName = sDeps.GetToken( i, ' ' );
-
- pHObject_l = mpPrjIdMapper->Find( sDepName ); // mpPrjIdMapper
- if ( !pHObject_l )
- {
- String sMessage;
- sMessage += String::CreateFromAscii("can't find ");
- sMessage += String( sDepName, RTL_TEXTENCODING_UTF8 );
- sMessage += String::CreateFromAscii(".\ndependency ignored");
- WarningBox aBox( mpBaseWin, WB_OK, sMessage);
- aBox.Execute();
- }
- else
- {
- sTokenLine += String( sDepName, RTL_TEXTENCODING_UTF8 );
- sTokenLine +='\t';
- nHashedId = pHObject_l->GetId();
- pHObject_l = mpPrjIdMapper->Find( rBodyText ); // mpPrjIdMapper
- nObjectId_l = pHObject_l->GetId();
- AddConnectorToObjects( mpObjectPrjList, nHashedId, nObjectId_l );
- }
- }
- }
-
- if ( mpPrj->Count() > 1 )
- {
- CommandData* pData = mpPrj->GetObject( mpPrj->Count() - 1 );
- pData = mpPrj->Replace( pData, mpPrj->Count() - 2 );
- mpPrj->Replace( pData, mpPrj->Count() - 1 );
- }
-
- return nObjectId;
- }
- return 0;
-}
-
-// Context-Menue
-IMPL_LINK( Depper, PopupSelected, PopupMenu*, mpPopup )
-{
- USHORT nItemId = mpPopup->GetCurItemId();
-
- switch( nItemId )
- {
- case DEPPOPUP_NEW :
- {
- ByteString sNewItem = ByteString("new");
- //AddObject( mpObjectList, sNewItem , TRUE );
- }
- break;
- case DEPPOPUP_AUTOARRANGE :
- //AutoArrange( mpObjectList, mpObjectList, GetStart(), 0 );
- break;
- case DEPPOPUP_LOAD :
- //Load( ByteString("test.dep"));
- break;
- case DEPPOPUP_SAVE :
- Save( ByteString("test.dep"));
- break;
- case DEPPOPUP_WRITE_SOURCE :
- WriteSource();
- break;
- case DEPPOPUP_READ_SOURCE :
- ReadSource(TRUE);
- break;
- case DEPPOPUP_OPEN_SOURCE :
- OpenSource();
- break;
- case DEPPOPUP_ZOOMIN :
- {
-// DBG_ASSERT( FALSE,"zoomin");
- MapMode aMapMode = GetDepWin()->GetMapMode();
- aMapMode.SetScaleX( aMapMode.GetScaleX() * Fraction( 1.25 ));
- aMapMode.SetScaleY( aMapMode.GetScaleY() * Fraction( 1.25 ));
- GetDepWin()->SetMapMode( aMapMode );
-
- if ( nZoomed < 1 )
- {
- Size aZoomInSize( GetDepWin()->GetSizePixel());
- aZoomInSize.Width() *= 1.25;
- aZoomInSize.Height() *= 1.25;
- GetDepWin()->SetSizePixel( aZoomInSize );
- }
- nZoomed--;
-
- Zoom( aMapMode );
- };
- break;
- case DEPPOPUP_ZOOMOUT :
- {
-// DBG_ASSERT( FALSE,"zoomout");
- MapMode aMapMode = GetDepWin()->GetMapMode();
- if ( aMapMode.GetScaleX() > Fraction( 0.25 ))
- {
- aMapMode.SetScaleX( aMapMode.GetScaleX() * Fraction( 0.8 ));
- aMapMode.SetScaleY( aMapMode.GetScaleY() * Fraction( 0.8 ));
- GetDepWin()->SetMapMode( aMapMode );
-
- if ( nZoomed < 0 )
- {
- Size aZoomOutSize( mpBaseWin->GetSizePixel());
- aZoomOutSize.Width() *= 0.8;
- aZoomOutSize.Height() *= 0.8;
- GetDepWin()->SetSizePixel( aZoomOutSize );
- }
- nZoomed++;
-
- Zoom( aMapMode );
- }
- };
- break;
- case DEPPOPUP_CLEAR :
-// DBG_ASSERT( FALSE,"clear");
-// RemoveAllObjects( mpObjectList );
- break;
- case DEPPOPUP_CLOSE :
-// DBG_ASSERT( FALSE,"close");
- CloseWindow();
- break;
- case DEPPOPUP_HELP :
-// DBG_ASSERT( FALSE,"help");
- ShowHelp();
- break;
- case DEPPOPUP_TEST :
-// DBG_ASSERT( FALSE,"TEST!");
-// test();
- break;
- case DEPPOPUP_SHOW_TOOLBOX:
- maToolBox.Show();
- break;
- default :
- DBG_ASSERT( FALSE, "default" );
- break;
- }
- return 0;
-}
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/depwin.cxx b/soldep/source/depwin.cxx
deleted file mode 100644
index 49bc4e15cec7..000000000000
--- a/soldep/source/depwin.cxx
+++ /dev/null
@@ -1,167 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <tools/debug.hxx>
-
-#include <soldep/depwin.hxx>
-#include <soldep/depper.hxx>
-#include <soldep/connctr.hxx>
-#include <soldep/objwin.hxx>
-
-Bitmap* pWinCopy;
-
-DepWin::DepWin( Window* pParent, WinBits nWinStyle ) :
- Window( pParent, nWinStyle ),
- mbStartNewCon( FALSE ),
- maNewConStart( 0, 0 ),
- maNewConEnd( 0, 0 )
-// mpSelectedProject( NULL ) unbekannt
-// mpCapturer( NULL )
-{
- if ( !pParent->IsChildNotify() )
- pParent->EnableChildNotify( TRUE );
-// if ( !pParent->IsAllResizeEnabled())
-// pParent->EnableAllResize( TRUE );
- SetUpdateMode( TRUE );
- SetPosSizePixel( Point(0,0), Size( 2000, 2000 )); //Size of the scrollable Window
- mpPopup = new PopupMenu();
-}
-
-DepWin::~DepWin()
-{
- Hide();
- while( ConList.Count() > 0 )
- {
- delete ConList.GetObject( 0 );
- }
-// if ( mpPopup )
-/// delete mpPopup;
-}
-
-void DepWin::AddConnector( Connector* pNewCon )
-{
- ConList.Insert( pNewCon );
-}
-
-void DepWin::RemoveConnector( Connector* pOldCon )
-{
- ConList.Remove( pOldCon );
-}
-
-void DepWin::NewConnector( ObjectWin* pWin )
-{
- if ( !mbStartNewCon )
- {
- mpNewConWin = pWin;
- mbStartNewCon = TRUE;
- maNewConStart = pWin->GetFixPoint(Point(0,0));
- }
- else
- {
- Invalidate( Rectangle( maNewConStart, maNewConEnd ));
- if ( pWin != mpNewConWin )
- {
-// Connector* pConctr;
-// pConctr = new Connector( this, WB_NOBORDER );
-// pConctr->Initialize( mpNewConWin, pWin );
-
-// AddConnector has been moved to soldep
-// mpDepperDontuseme->AddConnector( mpNewConWin, pWin );
- }
- mpNewConWin = 0L;
- mbStartNewCon = FALSE;
- }
-
-}
-
-void DepWin::Paint( const Rectangle& rRect )
-{
- ULONG i = 0;
- ULONG nListCount = ConList.Count();
-
- for ( i=0 ; i < nListCount ; i++ )
- {
- ConList.GetObject( i )->Paint( aEmptyRect );
- }
- if ( mbStartNewCon )
- {
- DrawLine( maNewConStart, maNewConEnd );
- }
-}
-
-void DepWin::DrawOutput( OutputDevice* pDevice, const Point& rOffset )
-{
- ULONG i = 0;
- ULONG nListCount = ConList.Count();
-
- for ( i=0 ; i < nListCount ; i++ )
- {
- ConList.GetObject( i )->DrawOutput( pDevice, rOffset );
- }
- if ( mbStartNewCon )
- {
- pDevice->DrawLine( maNewConStart, maNewConEnd );
- }
-}
-
-void DepWin::MouseButtonUp( const MouseEvent& rMEvt )
-{
- if ( rMEvt.IsRight() )
- {
- mpPopup->Execute( this, rMEvt.GetPosPixel());
- }
-}
-
-void DepWin::MouseMove( const MouseEvent& rMEvt )
-{
- if ( mbStartNewCon )
- {
- Invalidate( Rectangle( maNewConStart, maNewConEnd ));
- maNewConEnd = PixelToLogic(rMEvt.GetPosPixel());
- maNewConStart = mpNewConWin->GetFixPoint( maNewConEnd );
- }
-}
-
-
-ConnectorList* DepWin::GetConnectorList()
-{
- return &ConList;
-}
-
-void DepWin::SetPopupHdl( void* pHdl )
-{
- mpPopup->SetSelectHdl( LINK( pHdl, Depper, PopupSelected ));
-}
-
-void DepWin::Command( const CommandEvent& rEvent)
-{
- //mpDepperDontuseme->GetGraphWin()->Command( rEvent );
- GetParent()->Command( rEvent );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/graphwin.cxx b/soldep/source/graphwin.cxx
deleted file mode 100644
index b4a9ec389428..000000000000
--- a/soldep/source/graphwin.cxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <soldep/graphwin.hxx>
-//#include "depapp.hxx"
-#include <soldep/soldep.hxx>
-
-
-GraphWin::GraphWin( Window * pParent, void * pClass )
-: ScrollableWindow( pParent, 0L, SCRWIN_DEFAULT | SCRWIN_VCENTER | SCRWIN_HCENTER )
-, aBufferWindow( this )
-{
- mpClass = pClass;
- SetSizePixel( pParent->GetSizePixel());
- SetPosPixel( pParent->GetPosPixel());
- SetTotalSize( Size( 2000,2000 ));
-
- aBufferWindow.SetBackground( Wallpaper( Color( COL_WHITE )));
- aBufferWindow.SetPosSizePixel( PIXELS( 0, 0, 2000, 2000 ) );
- aBufferWindow.Show(); // Content
- Show(); // Window with Scrollbars
-}
-
-void GraphWin::EndScroll( long nDeltaX, long nDeltaY )
-{
- // get the visible area
- Rectangle aArea( GetVisibleArea());
- long nX = aArea.Right();
- long nY = aArea.Bottom();
-
- // set the new pos and size by using LogicToPixel (this is mandatory)
- aBufferWindow.SetPosSizePixel( LogicToPixel( Point( 0, 0 )),
- LogicToPixel( Size( nX, nY )));
- aBufferWindow.Invalidate();
-}
-
-void GraphWin::Resize()
-{
- // get the visible area
- ScrollableWindow::Resize();
- Rectangle aArea( GetVisibleArea());
- long nX = aArea.Right();
- long nY = aArea.Bottom();
-
- // set the new pos and size by using LogicToPixel (this is mandatory)
- aBufferWindow.SetPosSizePixel( LogicToPixel( Point( 0, 0 )),
- LogicToPixel( Size( nX, nY )));
-}
-
-void GraphWin::Command( const CommandEvent& rEvent)
-{
- ScrollableWindow::Command( rEvent );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/hashobj.cxx b/soldep/source/hashobj.cxx
deleted file mode 100644
index bd0dc83a8d0b..000000000000
--- a/soldep/source/hashobj.cxx
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <soldep/hashobj.hxx>
-
-class ObjectWin;
-
-
-MyHashObject::MyHashObject( ULONG nId, ObjectWin* pWin )
-{
- mnId = nId;
- mpWin = pWin;
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/makefile.mk b/soldep/source/makefile.mk
deleted file mode 100644
index 0e91135aa6fa..000000000000
--- a/soldep/source/makefile.mk
+++ /dev/null
@@ -1,144 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-PRJ=..
-
-PRJNAME=soldep
-TARGET=soldep
-
-
-# --- Settings -----------------------------------------------------
-#.INCLUDE : $(PRJ)$/util$/perl.mk
-.INCLUDE : settings.mk
-
-# fixme, code is not yet 64 bit clean
-.IF "$(OS)$(CPU)"=="LINUXX" || ("$(COM)"=="C52" && "$(CPU)"=="U")
-all:
- @echo nothing to do
-.ENDIF
-
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/soldep.obj \
- $(SLO)$/soldlg.obj \
- $(SLO)$/depper.obj \
- $(SLO)$/hashobj.obj \
- $(SLO)$/connctr.obj \
- $(SLO)$/depwin.obj \
- $(SLO)$/graphwin.obj \
- $(SLO)$/tbox.obj \
- $(SLO)$/sdtresid.obj \
- $(SLO)$/objwin.obj
-
-SHL1TARGET =$(TARGET)$(DLLPOSTFIX)
-SHL1IMPLIB =$(TARGET)
-SHL1LIBS =$(SLB)$/$(TARGET).lib \
- $(SLB)$/bootstrpdt.lib
-SHL1DEF =$(MISC)$/$(SHL1TARGET).def
-SHL1DEPN =$(SHL1LIBS)
-SHL1STDLIBS = $(SVTOOLLIB) \
- $(CPPUHELPERLIB) \
- $(COMPHELPERLIB) \
- $(VCLLIB) \
- $(UCBHELPERLIB) \
- $(SOTLIB) \
- $(BTSTRPLIB) \
- $(TOOLSLIB) \
- $(SALLIB) \
- $(CPPULIB) \
- $(PERL_LIB)
-
-#.IF "$(GUI)" == "UNX"
-#SHL1STDLIBS+=\
-# $(SALLIB)
-#.ENDIF
-
-
-DEF1NAME =$(SHL1TARGET)
-DEF1DEPN =$(MISC)$/$(SHL1TARGET).flt
-DEFLIB1NAME =$(TARGET)
-
-SRC1FILES = \
- soldlg.src
-RES1TARGET = dep
-SRS1NAME=$(TARGET)
-SRS1FILES = \
- $(SRS)$/$(TARGET).srs
-
-RESLIB1NAME = dep
-RESLIB1SRSFILES = \
- $(SRS)$/$(TARGET).srs
-
-
-#------------- Application ---------------
-APP1TARGET=soldepl
-
-APP1ICON=soldep.ico
-
-APP1STDLIBS= \
- $(SVTOOLLIB) \
- $(CPPUHELPERLIB) \
- $(COMPHELPERLIB) \
- $(UCBHELPERLIB) \
- $(VCLLIB) \
- $(SOTLIB) \
- $(BTSTRPLIB) \
- $(TOOLSLIB) \
- $(SALLIB) \
- $(CPPULIB) \
- $(PERL_LIB)
-
-APP1LIBS=\
- $(SLB)$/bootstrpdt.lib \
- $(SLB)$/soldep.lib
-
-APP1OBJS= \
- $(SLO)$/depapp.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-ALLTAR : $(BIN)$/applicat.rdb
-
-$(BIN)$/applicat.rdb : makefile.mk $(UNOUCRRDB)
- rm -f $@
- $(GNUCOPY) $(UNOUCRRDB) $@
- cd $(BIN) && \
- $(REGCOMP) -register -r applicat.rdb \
- -c i18nsearch.uno$(DLLPOST) \
- -c i18npool.uno$(DLLPOST)
-
-$(MISC)$/$(SHL1TARGET).flt: makefile.mk
- @echo ------------------------------
- @echo Making: $@
- @echo WEP > $@
- @echo LIBMAIN >> $@
- @echo LibMain >> $@
- @echo __CT >> $@
diff --git a/soldep/source/objwin.cxx b/soldep/source/objwin.cxx
deleted file mode 100644
index 014659179005..000000000000
--- a/soldep/source/objwin.cxx
+++ /dev/null
@@ -1,823 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <tools/list.hxx>
-#include <tools/debug.hxx>
-#include <vcl/svapp.hxx>
-#include <vcl/help.hxx>
-#include <vcl/wall.hxx>
-
-#include <soldep/objwin.hxx>
-#include <soldep/depwin.hxx>
-//#include "depapp.hxx"
-#include <soldep/depper.hxx>
-//#include "prjdep.hxx"
-#include <soldep/connctr.hxx>
-#include <stdio.h>
-
-static Color aDefaultColor = 0L;
-static Wallpaper* pDefaultWallpaper = 0L;
-
-// Initialize static class member
-BOOL ObjectWin::msbHideMode = FALSE;
-ULONG ObjectWin::msnGlobalViewMask = 0;
-
-
-UINT32 aColorMap[] = {
- RGB_COLORDATA( 0xFF, 0xFF, 0x80 ), //MARKMODE_DEFAULT 0
- COL_GREEN, //MARKMODE_DEPENDING 1
- COL_RED, //MARKMODE_NEEDED 2
- COL_MAGENTA, //1+2
- COL_GRAY, //MARKMODE_ACTIVATED 4
- COL_LIGHTGREEN, //1+4
- COL_LIGHTRED, //2+4
- COL_LIGHTMAGENTA, //1+2+4
- COL_BLUE, //MARKMODE_SELECTED 8
- COL_LIGHTGRAY, //1+8
- COL_CYAN, //2+8
- COL_LIGHTCYAN, //1+2+8
- COL_LIGHTBLUE, //4+8
- COL_BROWN, //1+4+8
- COL_BLACK, //2+4+8
- COL_BLUE //1+2+4+8
-};
-
-
-//
-// class ObjectWin
-//
-
-/*****************************************************************************/
-ObjectWin::ObjectWin( Window* pParent, WinBits nWinStyle )
-/*****************************************************************************/
- : Window( pParent, nWinStyle ),
- msBodyText( "" ),
- msTipText( "" ),
- mnObjectId( 0 ),
- mnMarkMode( 0 ),
- mnViewMask( 0 ),
- mbVisible( FALSE ),
- mbMenuExecute( FALSE ),
- mbVisited( FALSE ),
- mnRootDist( 0 ),
- mnHeadDist( 0 ),
- mbFixed( FALSE )
-{
- SetBackground( Wallpaper( aColorMap[0] ));
-
- aTipTimer.SetTimeout( 500 );
- aTipTimer.SetTimeoutHdl(
- LINK( this, ObjectWin, TipHdl ));
-
- SetFont( Font( GetFont() ) );
- Font aFont( GetFont() );
- Size aSize = aFont.GetSize();
- aFont.SetSize( aSize );
- SetFont( aFont );
-
- EnableClipSiblings();
- SetZOrder( NULL, WINDOW_ZORDER_FIRST );
- mpPopup = new PopupMenu();
- mpPopup->InsertItem( OBJWIN_EDIT_TEXT, String::CreateFromAscii( "Details" ));
- mpPopup->InsertItem( OBJWIN_ADD_CONNECTOR, String::CreateFromAscii( "New connection" ));
- mpPopup->InsertItem( OBJWIN_REMOVE_WIN, String::CreateFromAscii( "Remove object" ));
- mpPopup->InsertItem( OBJWIN_VIEW_CONTENT, String::CreateFromAscii( "View content" ));
-// mpPopup->InsertSeparator();
- mpPopup->SetSelectHdl( LINK( this, ObjectWin, PopupSelected ));
- mpPopup->SetDeactivateHdl( LINK( this, ObjectWin, PopupDeactivated ));
- mnPopupStaticItems = mpPopup->GetItemCount();
-
- if ( ! pDefaultWallpaper )
- {
- pDefaultWallpaper = new Wallpaper( GetBackground() );
- aDefaultColor = GetTextColor();
- }
- Hide();
-}
-
-/*****************************************************************************/
-ObjectWin::~ObjectWin()
-/*****************************************************************************/
-{
- while ( mConnections.Count() > 0 )
- {
- delete mConnections.GetObject( 0 );
- }
-}
-
-void ObjectWin::SetHideMode(BOOL bHide)
-{
- msbHideMode = bHide;
- mConnections.GetObject(0)->SetHideMode(msbHideMode);
-}
-
-BOOL ObjectWin::ToggleHideMode()
-{
- msbHideMode = !msbHideMode;
- mConnections.GetObject(0)->SetHideMode(msbHideMode);
- return msbHideMode;
-}
-
-/*****************************************************************************/
-void ObjectWin::SetViewMask( ULONG nMask )
-/*****************************************************************************/
-{
- mnViewMask = nMask;
- // Compares
- if ( mnViewMask & msnGlobalViewMask) {
- mbVisible = TRUE;
- Show();
- }
- else {
- Hide();
- mbVisible = FALSE;
- }
- for ( ULONG i = 0; i < mConnections.Count(); i++ )
- mConnections.GetObject( i )->UpdateVisibility();
-}
-
-/*****************************************************************************/
-void ObjectWin::SetBodyText( const ByteString& rNewString )
-/*****************************************************************************/
-{
- msBodyText = rNewString;
-}
-
-/*****************************************************************************/
-ByteString& ObjectWin::GetBodyText()
-/*****************************************************************************/
-{
- return msBodyText;
-}
-
-/*****************************************************************************/
-void ObjectWin::SetTipText( const ByteString& rNewString )
-/*****************************************************************************/
-{
- msTipText = rNewString;
-}
-
-/*****************************************************************************/
-ByteString& ObjectWin::GetTipText()
-/*****************************************************************************/
-{
- return msTipText;
-}
-
-/*****************************************************************************/
-Point ObjectWin::GetFixPoint( const Point& rRefPoint, BOOL bUseRealPos )
-/*****************************************************************************/
-{
- Point aLocalPoint;
- if ( bUseRealPos )
- aLocalPoint = GetPosPixel();
- else
- aLocalPoint = GetCalcPosPixel();
-
- Size aLocalSize = GetSizePixel();
- Point aRetPoint;
-
- USHORT nRefX = aLocalPoint.X() + aLocalSize.Width() / 2 ;
- USHORT nRefY = aLocalPoint.Y() + aLocalSize.Height() / 2 ;
-
- // always false...
- //if ( nRefX < 0 ) nRefX = 0;
- //if ( nRefY < 0 ) nRefY = 0;
-
- if ( rRefPoint.X() > nRefX )
- {
- if ( rRefPoint.Y() > nRefY )
- {
- if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
- {
- aRetPoint.X() = aLocalPoint.X() + aLocalSize.Width();
- aRetPoint.Y() = nRefY;
- }
- else
- {
- aRetPoint.X() = nRefX;
- aRetPoint.Y() = aLocalPoint.Y() + aLocalSize.Height();
- }
- }
- else
- {
- if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
- {
- aRetPoint.X() = aLocalPoint.X() + aLocalSize.Width();
- aRetPoint.Y() = nRefY;
- }
- else
- {
- aRetPoint.X() = nRefX;
- aRetPoint.Y() = aLocalPoint.Y();
- }
- }
- }
- else
- {
- if ( rRefPoint.Y() > nRefY )
- {
- if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
- {
- aRetPoint.X() = aLocalPoint.X();
- aRetPoint.Y() = nRefY;
- }
- else
- {
- aRetPoint.X() = nRefX;
- aRetPoint.Y() = aLocalPoint.Y() + aLocalSize.Height();
- }
- }
- else
- {
- if ( Abs( rRefPoint.X() - nRefX ) > Abs( rRefPoint.Y() - nRefY ))
- {
- aRetPoint.X() = aLocalPoint.X();
- aRetPoint.Y() = nRefY;
- }
- else
- {
- aRetPoint.X() = nRefX;
- aRetPoint.Y() = aLocalPoint.Y();
- }
- }
- }
-
- return PixelToLogic(aRetPoint);
-
-}
-
-/*****************************************************************************/
-void ObjectWin::AddConnector( Connector* pNewCon )
-/*****************************************************************************/
-{
- mConnections.Insert( pNewCon );
-}
-
-/*****************************************************************************/
-BOOL ObjectWin::ConnectionExistsInAnyDirection( ObjectWin *pWin )
-/*****************************************************************************/
-{
- for ( ULONG i = 0; i < mConnections.Count(); i++ )
- if ( mConnections.GetObject( i )->GetOtherWin( this ) == pWin )
- return TRUE;
-
- return FALSE;
-}
-
-/*****************************************************************************/
-void ObjectWin::RemoveConnector( Connector* pOldCon )
-/*****************************************************************************/
-{
- mConnections.Remove( pOldCon );
-}
-
-/*****************************************************************************/
-Connector* ObjectWin::GetConnector( ULONG nIndex )
-/*****************************************************************************/
-{
- ULONG nConCount = mConnections.Count();
-
- if ( nIndex < nConCount )
- return mConnections.GetObject( nIndex );
- return NULL;
-}
-
-/*****************************************************************************/
-Connector* ObjectWin::GetConnector( ULONG nStartId, ULONG nEndId )
-/*****************************************************************************/
-{
- if ( mnObjectId != nStartId )
- return NULL;
-
- USHORT i;
- Connector* pCon;
- ULONG nConCount = mConnections.Count();
-
- for ( i = 0; i < nConCount; i++ )
- {
- pCon = mConnections.GetObject( i );
- if ( pCon->GetOtherWin( this )->GetId() == nEndId )
- return pCon;
- }
- return NULL;
-}
-
-void ObjectWin::SetAllConnectorsUnvisible()
-{
- Connector* pCon;
- ULONG nConCount = mConnections.Count();
- for ( ULONG i = 0; i < nConCount; i++ )
- {
- pCon = mConnections.GetObject( i );
- if (pCon) pCon->SetVisibility( FALSE );
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::SetMarkMode( ULONG nMarkMode )
-/*****************************************************************************/
-{
- //Wallpaper aWallpaper;
-
- if ( nMarkMode == MARKMODE_DEFAULT )
- {
- if ( pDefaultWallpaper )
- {
- maObjWallpaper = GetBackground();
- maObjWallpaper.SetColor( pDefaultWallpaper->GetColor() );
- SetBackground( maObjWallpaper );
- SetTextColor( aDefaultColor );
- }
- }
- else
- {
- mnMarkMode |= nMarkMode;
- maObjWallpaper = GetBackground();
- maObjWallpaper.SetColor( aColorMap[ mnMarkMode ] );
- SetBackground( maObjWallpaper );
- SetTextColor( COL_WHITE );
- }
-
- Invalidate();
-}
-
-/*****************************************************************************/
-void ObjectWin::UnsetMarkMode( ULONG nMarkMode )
-/*****************************************************************************/
-{
- //Wallpaper aWallpaper;
-
- ULONG nOldMode = mnMarkMode;
- mnMarkMode &= ( !nMarkMode );
-
- if ( nOldMode != mnMarkMode ) {
- if ( mnMarkMode == MARKMODE_DEFAULT )
- {
- if ( pDefaultWallpaper )
- {
- maObjWallpaper = GetBackground();
- maObjWallpaper.SetColor( pDefaultWallpaper->GetColor() );
- SetBackground( maObjWallpaper );
- SetTextColor( aDefaultColor );
- }
- }
- else
- {
- maObjWallpaper = GetBackground();
- maObjWallpaper.SetColor( aColorMap[ mnMarkMode ] ); //mnMarkMode
- SetBackground( maObjWallpaper );
- SetTextColor( COL_WHITE );
- }
- Invalidate();
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::MarkNeeded( BOOL bReset )
-/*****************************************************************************/
-{
- Connector* pCon;
- ObjectWin* pWin;
-
- ULONG nConCount = mConnections.Count();
- ULONG i;
-
- for ( i = 0; i < nConCount; i++ )
- {
- pCon = mConnections.GetObject( i );
- if ( pCon && !pCon->IsStart( this))
- {
- pWin = pCon->GetOtherWin( this );
- if ( pWin )
- {
- if ( bReset )
- pWin->UnsetMarkMode( MARKMODE_NEEDED );
- else
- pWin->SetMarkMode( MARKMODE_NEEDED );
- pWin->MarkNeeded( bReset ); // recursive call
- }
- }
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::MarkDepending( BOOL bReset )
-/*****************************************************************************/
-{
- //if ( !bReset )
- // return;
-
- Connector* pCon;
- ObjectWin* pWin;
-
- ULONG nConCount = mConnections.Count();
- ULONG i;
-
- for ( i = 0; i < nConCount; i++ )
- {
- pCon = mConnections.GetObject( i );
- if ( pCon && pCon->IsStart( this) )
- {
- pWin = pCon->GetOtherWin( this );
- if ( pWin )
- {
- if ( bReset )
- pWin->UnsetMarkMode( MARKMODE_DEPENDING );
- else
- pWin->SetMarkMode( MARKMODE_DEPENDING );
- pWin->MarkDepending( bReset ); // recursive call
- }
- }
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::Paint( const Rectangle& rRect )
-/*****************************************************************************/
-{
- Size aWinSize = PixelToLogic( GetOutputSizePixel() );
- Size aTextSize;
- ByteString sbt = msBodyText; //debug
- //sbt += " "; //debug
- //sbt += ByteString::CreateFromInt32(mnMarkMode); //debug
- aTextSize.Width() = GetTextWidth( String( msBodyText, RTL_TEXTENCODING_UTF8 ));
- aTextSize.Height() = GetTextHeight();
- Point aPos( aWinSize.Width() / 2 - aTextSize.Width() / 2,
- aWinSize.Height() / 2 - aTextSize.Height() / 2 );
-
- //DrawText( aPos , String( sBodyText, RTL_TEXTENCODING_UTF8 ));
- if (msBodyText =="null") //don't paint this "window"
- {
- Hide();
- Invalidate();
- } else
- DrawText( aPos , String( sbt, RTL_TEXTENCODING_UTF8 )); //debug
-}
-
-void ObjectWin::DrawOutput( OutputDevice* pDevice, const Point& rOffset )
-/*****************************************************************************/
-{
- Size aWinSize = PixelToLogic( GetSizePixel() );
- Size aTextSize;
- ByteString sbt = msBodyText;
- aTextSize.Width() = GetTextWidth( String( msBodyText, RTL_TEXTENCODING_UTF8 ));
- aTextSize.Height() = GetTextHeight();
- Point aPos = GetPosPixel();
- Point aTextPos( aWinSize.Width() / 2 - aTextSize.Width() / 2,
- aWinSize.Height() / 2 - aTextSize.Height() / 2 );
- aTextPos += aPos;
- aPos = pDevice->PixelToLogic( aPos ) - rOffset;
- aTextPos = pDevice->PixelToLogic( aTextPos ) - rOffset;
- if ( msBodyText !="null" )
- {
- pDevice->SetFillColor( GetBackground().GetColor() );
- pDevice->DrawRect( Rectangle( aPos, pDevice->PixelToLogic( GetSizePixel() ) ) );
- Font aFont( GetFont() );
- Size aSize = aFont.GetSize();
- aSize = pDevice->PixelToLogic( aSize );
- aFont.SetSize( aSize );
- pDevice->SetFont( aFont );
- pDevice->SetTextColor( GetTextColor() );
- pDevice->DrawText( aTextPos, String( sbt, RTL_TEXTENCODING_UTF8 ) );
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::MouseButtonDown( const MouseEvent& rMEvt )
-/*****************************************************************************/
-{
- //Notify Soldep to clear ObjectList
- SetZOrder( NULL, WINDOW_ZORDER_FIRST );
- GrabFocus();
-
- // workaround fuer vcl-bug
-// GetWindow( WINDOW_REALPARENT)->Invalidate();
-// MyApp *pApp = (MyApp*)GetpApp();
-// SolDep *pSoldep = pApp->GetSolDep();
-
- maMouseOffset = rMEvt.GetPosPixel();
- if ( rMEvt.IsLeft() )
- {
-
- if ( rMEvt.IsMod2() ) // alt + mouse click left
- {
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_DOWN_ALT, this );
- }
- else {
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_DOWN, this );
- }
- if( rMEvt.GetClicks() == 2 )
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_DOWN_DBLCLICK, this );
- else if ( !rMEvt.IsShift() && !((DepWin*)GetParent())->IsStartNewCon())
- {
- //((DepWin*)GetParent())->SaveSelectedObjWin(&this);
- CaptureMouse();
- }
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::MouseButtonUp( const MouseEvent& rMEvt )
-/*****************************************************************************/
-{
- fprintf(stdout,"ObjectWin::MouseButtonUp\n");
- if ( rMEvt.IsLeft() )
- {
- if ( rMEvt.IsShift() || ((DepWin*)GetParent())->IsStartNewCon())
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_UP_SHFT, this );
-// ((DepWin*)GetParent())->NewConnector( this );
- else
- {
- CallEventListeners( VCLEVENT_USER_MOUSEBUTTON_UP, this );
- if ( IsMouseCaptured() ) ReleaseMouse();
- }
- }
- else if ( rMEvt.IsRight() )
- {
- USHORT i;
-
- while ( mnPopupStaticItems < mpPopup->GetItemCount() )
- {
- mpPopup->RemoveItem( mnPopupStaticItems );
- }
-
- if ( mConnections.Count()) {
- mpPopup->InsertSeparator();
-
- for( i = 0; i < mConnections.Count() ; i++ )
- {
- mpPopup->InsertItem( mnPopupStaticItems + i + 1, String( ((mConnections.GetObject( i ))->GetOtherWin( this ))->GetBodyText(), RTL_TEXTENCODING_UTF8 ));
- }
- }
- mbMenuExecute = TRUE;
- mpPopup->Execute( GetParent(), rMEvt.GetPosPixel() + GetPosPixel());
- }
-}
-
-/*****************************************************************************/
-void ObjectWin::MouseMove( const MouseEvent& rMEvt )
-/*****************************************************************************/
-{
- if ( IsMouseCaptured() )
- {
- USHORT i;
-
- Point aNewWinPos( GetPosPixel() + rMEvt.GetPosPixel() - maMouseOffset );
-
- aNewWinPos.X() = Max( 0L, aNewWinPos.X());
- aNewWinPos.Y() = Max( 0L, aNewWinPos.Y());
- SetPosPixel( aNewWinPos );
- //int t = mConnections.Count();
-
- for ( i=0; i < mConnections.Count();i++)
- {
- mConnections.GetObject( i )->UpdatePosition( this );
- }
- }
- else // !IsMouseCaptured()
- {
- if ( rMEvt.IsLeaveWindow() )
- aTipTimer.Stop();
- else
- aTipTimer.Start();
-
- MouseEvent aNewMEvt( rMEvt.GetPosPixel() + GetPosPixel());
-
- GetParent()->MouseMove( aNewMEvt ); //call to DepWin::MouseMove
- }
-}
-
-/*****************************************************************************/
-USHORT ObjectWin::Save( SvFileStream& rOutFile )
-/*****************************************************************************/
-{
- return 0;
-}
-
-/*****************************************************************************/
-USHORT ObjectWin::Load( SvFileStream& rInFile )
-/*****************************************************************************/
-{
- return 0;
-}
-
-/*****************************************************************************/
-void ObjectWin::SetId( ULONG nId )
-/*****************************************************************************/
-{
- mnObjectId = nId;
-}
-
-/*****************************************************************************/
-ULONG ObjectWin::GetId()
-/*****************************************************************************/
-{
- return mnObjectId;
-}
-
-/*****************************************************************************/
-void ObjectWin::UpdateConnectors()
-/*****************************************************************************/
-{
- USHORT i;
-
- for ( i = 0; i < mConnections.Count(); i++ )
- {
- mConnections.GetObject( i )->UpdatePosition( this );
- }
-}
-
-IMPL_LINK( ObjectWin, PopupSelected, PopupMenu*, mpPopup_l )
-{
- USHORT nItemId = mpPopup_l->GetCurItemId();
-
- switch( nItemId )
- {
- case OBJWIN_EDIT_TEXT :
- DBG_ASSERT( FALSE,"edit");
- break;
- case OBJWIN_REMOVE_WIN :
-// DBG_ASSERT( FALSE,"remove");
-// DBG_ASSERT( mpDepperDontuseme,"remove");
- //mpDepperDontuseme->RemoveObject(mpDepperDontuseme->mpObjectList, ( USHORT ) GetId());
- break;
- case OBJWIN_ADD_CONNECTOR :
-// DBG_ASSERT( FALSE,"add con");
- ((DepWin*)GetParent())->NewConnector( this );
- break;
- case OBJWIN_VIEW_CONTENT :
-// DBG_ASSERT( FALSE,"view cnt");
-// mpDepperDontuseme->ViewContent( msBodyText );
-// TBD: CallEventListener
- break;
- default :
-// DBG_ASSERT( FALSE, String (nItemId) );
- Connector* pCon = mConnections.GetObject( nItemId - mnPopupStaticItems - 1);
- pCon = 0;
-// delete pCon;
-// mpDepperDontuseme->RemoveConnector( pCon->GetStartId(), pCon->GetEndId());
-// TBD: CallEventListener
-
- break;
- }
- return 0;
-}
-
-/*****************************************************************************/
-IMPL_LINK( ObjectWin, TipHdl, void *, EMTY_ARG )
-/*****************************************************************************/
-{
- aTipTimer.Stop();
-
- if ( msTipText.Len()) {
- Point aPos( GetpApp()->GetAppWindow()->GetPointerPosPixel());
- Help::ShowBalloon( GetpApp()->GetAppWindow(),
- Point( aPos.X(), aPos.Y()),
- String( msTipText, RTL_TEXTENCODING_UTF8 ));
- }
- return 0;
-}
-
-/*****************************************************************************/
-//void ObjectWin::GetFocus()
-/*****************************************************************************/
-//{
- //SetMarkMode( MARKMODE_SELECTED );
-//}
-
-/*****************************************************************************/
-void ObjectWin::LoseFocus()
-/*****************************************************************************/
-{
- if ( !mbMenuExecute && !msbHideMode ) {
- UnsetMarkMode( MARKMODE_SELECTED );
- UnsetMarkMode( MARKMODE_ACTIVATED );
- MarkNeeded( TRUE );
- MarkDepending( TRUE );
- }
- else
- mbMenuExecute = FALSE;
-}
-
-/*****************************************************************************/
-IMPL_LINK( ObjectWin, PopupDeactivated, PopupMenu*, mpPopup_l )
-/*****************************************************************************/
-{
- mbMenuExecute = FALSE;
-
- if ( !HasFocus()) {
- UnsetMarkMode( MARKMODE_SELECTED );
- UnsetMarkMode( MARKMODE_ACTIVATED );
- MarkNeeded( TRUE );
- MarkDepending( TRUE );
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-void ObjectWin::Command( const CommandEvent& rEvent)
-/*****************************************************************************/
-{
- fprintf(stdout, "ObjectWin::Command");
-// mpDepperDontuseme->GetGraphWin()->Command( rEvent );
-// TBD: CallEventListener
-
-}
-
-/*****************************************************************************/
-/*****************************************************************************/
-
-ObjectList::ObjectList() : ObjWinList()
-{
-}
-
-/*****************************************************************************/
-void ObjectList::ResetSelectedObject()
-/*****************************************************************************/
-{
-// return;
-
- ULONG nCount_l = Count();
- ObjectWin* pObjectWin = NULL;
- for (ULONG i=0; i < nCount_l; i++ )
- {
- pObjectWin = GetObject( i );
- pObjectWin->UnsetMarkMode( MARKMODE_SELECTED );
- pObjectWin->UnsetMarkMode( MARKMODE_NEEDED );
- pObjectWin->UnsetMarkMode( MARKMODE_DEPENDING );
- pObjectWin->SetActualWallpaper(*pDefaultWallpaper);
- pObjectWin->SetAllConnectorsUnvisible();
- }
- return;
-}
-
-/*****************************************************************************/
-ObjectWin* ObjectList::GetPtrByName( const ByteString& rText )
-/*****************************************************************************/
-{
- ULONG i = 0;
- ULONG nCount_l = Count();
- ObjectWin* pObjectWin = NULL;
- while ( i < nCount_l )
- {
- pObjectWin = GetObject( i );
- ByteString sPrj = pObjectWin->GetBodyText();
- if (sPrj == rText) return pObjectWin;
- i++;
- }
- return 0;
-}
-
-ObjectList* ObjectList::FindTopLevelModules()
-{
- ObjectList* pList = new ObjectList;
- for ( USHORT i=0; i<Count(); i++ )
- {
- ObjectWin* pObjectWin = GetObject( i );
- if ( pObjectWin->IsTop() )
- pList->Insert( pObjectWin );
- }
-
- return pList;
-}
-
-BOOL ObjectWin::IsTop()
-{
- ULONG nConCount = mConnections.Count();
- for ( ULONG i = 0; i < nConCount; i++ )
- {
- Connector* pCon = mConnections.GetObject( i );
- if ( pCon && pCon->IsStart( this) )
- return FALSE;
- }
-
- return TRUE;
-}
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/sdtresid.cxx b/soldep/source/sdtresid.cxx
deleted file mode 100644
index a6afa054227a..000000000000
--- a/soldep/source/sdtresid.cxx
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <soldep/sdtresid.hxx>
-
-SolDevDll::SolDevDll()
-{
- *(SolDevDll**)GetAppData( SHL_SCH ) = this;
-
- ByteString aResMgrName( "dep" );
-
- pResMgr = ResMgr::CreateResMgr( aResMgrName.GetBuffer(),
- Application::GetSettings().GetUILocale() );
-}
-
-SolDevDll::~SolDevDll()
-{
- delete pResMgr;
-}
-
-DtSodResId::DtSodResId( USHORT nId ) :
-ResId(nId, *(*(SolDevDll**)GetAppData( SHL_SCH ))->GetResMgr())
-{
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/soldep.cxx b/soldep/source/soldep.cxx
deleted file mode 100644
index c47ae3098bb6..000000000000
--- a/soldep/source/soldep.cxx
+++ /dev/null
@@ -1,1722 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-//TBD: ToolBox handling prjview/back
-
-#include <osl/file.hxx>
-#include <rtl/ustring.hxx>
-#include <tools/debug.hxx>
-#include <bootstrp/sstring.hxx>
-#include <svtools/filedlg.hxx>
-#include <tools/iparser.hxx>
-#include <tools/geninfo.hxx>
-#include <vcl/gdimtf.hxx>
-#include <vcl/bitmap.hxx>
-#include <appdef.hxx>
-#include "time.h"
-#include <soldep/depper.hxx>
-#include <soldep/soldep.hxx>
-#include <soldep/soldlg.hxx>
-#include "dtsodcmp.hrc"
-
-IMPLEMENT_HASHTABLE_OWNER( SolIdMapper, ByteString, ULONG* );
-
-#define EVENT_RESIZE 0x00000001
-#define MIN(a,b) (a)<(b)?(a):(b)
-#define MAX(a,b) (a)>(b)?(a):(b)
-
-
-//ByteString sDelimiterLine("#==========================================================================");
-
-
-//
-// class SolDep
-//
-
-/*****************************************************************************/
-SolDep::SolDep( Window* pBaseWindow )
-/*****************************************************************************/
- : Depper( pBaseWindow ),
- mbBServer(FALSE),
- mpTravellerList( NULL ),
- mbIsHide( FALSE )
-{
- mnSolWinCount = 0;
- mnSolLastId = 0;
- maTaskBarFrame.EnableAlwaysOnTop();
- maTaskBarFrame.Show();
- maToolBox.SetPosSizePixel( Point( 0,0 ), Size( 1100,35 ));
- maToolBox.SetSelectHdl( LINK ( this, SolDep, ToolSelect ));
- maToolBox.Show();
-
- mpBaseWin->AddChildEventListener( LINK( this, SolDep, ChildWindowEventListener ));
-
- // Kontext-Menue (gehrt zu soldep.cxx)
- InitContextMenueMainWnd();
- InitContextMenuePrjViewWnd( mpBasePrjWin );
-}
-
-/*****************************************************************************/
-SolDep::~SolDep()
-/*****************************************************************************/
-{
- mpBaseWin->RemoveChildEventListener( LINK( this, SolDep, ChildWindowEventListener ) );
- delete mpSolIdMapper;
- delete mpStarWriter;
- delete mpStandLst;
-}
-
-/*****************************************************************************/
-void SolDep::Init()
-/*****************************************************************************/
-{
- InformationParser aParser;
- String sStandLst( GetDefStandList(), RTL_TEXTENCODING_ASCII_US );
- mpStandLst = aParser.Execute( sStandLst );
- ByteString aUpdater( getenv("UPDATER") );
- if ( mpStandLst && (aUpdater == "YES") ) {
- if ( GetVersion() )
- ReadSource( TRUE );
- } else {
- ReadSource(); // if stand.lst isn't available
- }
-}
-
-/*****************************************************************************/
-void SolDep::Init( ByteString &rVersion, GenericInformationList *pVersionList )
-/*****************************************************************************/
-{
- // Interface for bs
- mbBServer=TRUE;
- if ( pVersionList )
- mpStandLst = new GenericInformationList( *pVersionList );
- else {
- InformationParser aParser;
- String sStandLst( GetDefStandList(), RTL_TEXTENCODING_ASCII_US );
- mpStandLst = aParser.Execute( sStandLst );
- }
- if ( mpStandLst ) {
- msVersionMajor = ByteString( rVersion );
- ReadSource(TRUE); //call from build server set UPDATER to TRUE
- }
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolDep, ChildWindowEventListener, VclSimpleEvent*, pEvent )
-/*****************************************************************************/
-{
- if ( pEvent && pEvent->ISA( VclWindowEvent ) )
- {
- ProcessChildWindowEvent( *static_cast< VclWindowEvent* >( pEvent ) );
- }
- return 0;
-}
-
-
-/*****************************************************************************/
-void SolDep::ProcessChildWindowEvent( const VclWindowEvent& _rVclWindowEvent )
-/*****************************************************************************/
-{
- Window* pChildWin = _rVclWindowEvent.GetWindow();
- if ( isAlive() )
- {
- ULONG id = _rVclWindowEvent.GetId();
- switch ( id )
- {
- case VCLEVENT_USER_MOUSEBUTTON_DOWN:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- // handle mouse click on ObjectWin object
- ObjectWin* pWin = (ObjectWin*) pChildWin;
- if (IsHideMode()) // simple mouse click left
- {
- pWin->CaptureMouse();
- pWin->SetMarkMode( MARKMODE_SELECTED );
- pWin->MarkNeeded();
- pWin->MarkDepending();
- pWin->Invalidate();
- } else {
- pWin->LoseFocus();
- pWin->SetMarkMode( MARKMODE_SELECTED );
- pWin->UnsetMarkMode( MARKMODE_ACTIVATED );
- pWin->MarkNeeded( TRUE );
- pWin->MarkDepending( TRUE );
- }
- }
- }
- break;
- case VCLEVENT_USER_MOUSEBUTTON_DOWN_ALT:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- ObjectWin* pWin = (ObjectWin*) pChildWin;
- MarkObjects( pWin );
- }
- }
- break;
- case VCLEVENT_USER_MOUSEBUTTON_DOWN_DBLCLICK:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- if (IsHideMode()) ToggleHideDependency();
- ByteString text = ((ObjectWin*) pChildWin)->GetBodyText();
- ViewContent(text);
- }
- }
- break;
- case VCLEVENT_USER_MOUSEBUTTON_UP_SHFT:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- ObjectWin* pWin = (ObjectWin*) pChildWin;
- GetDepWin()->NewConnector( pWin );
- }
- }
- break;
- case VCLEVENT_USER_MOUSEBUTTON_UP:
- {
- ObjectWin* pObjWin = dynamic_cast<ObjectWin*>(pChildWin);
- if( pObjWin )
- {
- ObjectWin* pWin = (ObjectWin*) pChildWin;
- pWin->ReleaseMouse();
- pWin->SetMarkMode(MARKMODE_SELECTED);
- GetDepWin()->Invalidate();
- }
- }
- break;
- }
- }
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolDep, ToolSelect, SoldepToolBox* , pBox)
-/*****************************************************************************/
-{
- USHORT nItemId = pBox->GetCurItemId();
- switch ( nItemId )
- {
- case TID_SOLDEP_FIND:
- FindProject();
- break;
- case TID_SOLDEP_CREATEMETA :
- {
- VirtualDevice aVDev;
- aVDev.SetMapMode( MAP_100TH_MM );
- GDIMetaFile aMtf;
- aVDev.EnableOutput( FALSE );
- aMtf.Record( &aVDev );
-
- aVDev.SetLineColor( Color( COL_BLACK ) );
- aVDev.SetTextAlign( ALIGN_TOP );
-
- Size aSize( GetDepWin()->GetOutputSizePixel() );
- long nXMin = aSize.Width();
- long nXMax = 0;
- long nYMax = 0;
- long nYMin = aSize.Height();
-
- for ( USHORT i=0; i<mpObjectList->Count(); i++ )
- {
- Point aPoint = mpObjectList->GetObject(i)->GetPosPixel();
- Size aSize = mpObjectList->GetObject(i)->GetSizePixel();
- nXMin = MIN( aPoint.X(), nXMin );
- nXMax = MAX( aPoint.X() + aSize.Width(), nXMax );
- nYMin = MIN( aPoint.Y(), nYMin );
- nYMax = MAX( aPoint.Y() + aSize.Height(), nYMax );
- }
-
- Point aOffset( nXMin, nYMin );
- aOffset = aVDev.PixelToLogic( aOffset );
-
- GetDepWin()->DrawOutput( &aVDev, aOffset );
- for ( USHORT i=0; i<mpObjectList->Count(); i++ )
- if ( mpObjectList->GetObject(i)->IsVisible() )
- mpObjectList->GetObject(i)->DrawOutput( &aVDev, aOffset );
-
- aMtf.Stop();
- aMtf.WindStart();
- aMtf.SetPrefMapMode( aVDev.GetMapMode() );
- Size aDevSize( nXMax-nXMin + 10, nYMax-nYMin + 10);
- aDevSize = aVDev.PixelToLogic( aDevSize );
- aMtf.SetPrefSize( aDevSize );
- SvFileStream aStream( String::CreateFromAscii("d:\\out.svm"), STREAM_STD_READWRITE );
- aMtf.Write( aStream );
- }
- break;
- case TID_SOLDEP_HIDE_INDEPENDEND:
- {
- ToggleHideDependency();
- for ( USHORT i=0; i<mpObjectList->Count(); i++ )
- mpObjectList->GetObject(i)->SetViewMask(!mbIsHide);
- maToolBox.CheckItem(TID_SOLDEP_HIDE_INDEPENDEND, IsHideMode());
- GetDepWin()->Invalidate(); //repaint Main-View
- }
- break;
- case TID_SOLDEP_SELECT_WORKSPACE:
- if (mpStandLst)
- {
- if (GetVersion()) // Version dialog box
- {
- delete mpSolIdMapper;
- delete mpStarWriter;
- mpObjectList->ClearAndDelete();
- ReadSource(TRUE);
- }
- }
- break;
- case TID_SOLDEP_BACK:
- maToolBox.HideItem(TID_SOLDEP_BACK);
- maToolBox.ShowItem(TID_SOLDEP_SELECT_WORKSPACE); //disabled for prj view (doubleclick ObjWin)
- maToolBox.ShowItem(TID_SOLDEP_HIDE_INDEPENDEND); //disabled for prj view (doubleclick ObjWin)
- maToolBox.ShowItem(TID_SOLDEP_FIND); //disabled for prj view (doubleclick ObjWin)
- maToolBox.Resize();
- TogglePrjViewStatus();
- break;
- }
- return 0;
-}
-
-/*****************************************************************************/
-void SolDep::ToggleHideDependency()
-/*****************************************************************************/
-{
- mbIsHide = !mbIsHide;
- maToolBox.CheckItem(TID_SOLDEP_HIDE_INDEPENDEND, IsHideMode());
- ObjectWin* pWin = GetObjectList()->GetObject( 0 );
- pWin->ToggleHideMode();
-};
-
-/*****************************************************************************/
-BOOL SolDep::GetVersion()
-/*****************************************************************************/
-{
- SolSelectVersionDlg aVersionDlg( GetDepWin(), mpStandLst );
- if ( aVersionDlg.Execute() == RET_OK ) {
- msVersionMajor = aVersionDlg.GetVersionMajor();
- msVersionMinor = aVersionDlg.GetVersionMinor();
- return TRUE;
- }
- return FALSE;
-}
-
-void SolDep::InitContextMenueMainWnd()
-{
- InitContextMenuePrjViewWnd( mpBaseWin );
- return; // Disable not actually supported items
-
- mpBaseWin->mpPopup->InsertItem( DEPPOPUP_AUTOARRANGE, String::CreateFromAscii("Autoarrange")) ;
- mpBaseWin->mpPopup->InsertSeparator();
- mpBaseWin->mpPopup->InsertItem( DEPPOPUP_READ_SOURCE, String::CreateFromAscii("Revert all changes") );
- mpBaseWin->mpPopup->InsertSeparator();
- mpBaseWin->mpPopup->InsertItem( DEPPOPUP_OPEN_SOURCE, String::CreateFromAscii("Open") );
- mpBaseWin->mpPopup->InsertItem( DEPPOPUP_WRITE_SOURCE, String::CreateFromAscii("Save") );
-}
-
-void SolDep::InitContextMenuePrjViewWnd(DepWin* pBaseWin )
-{
- // temp. disabled pBaseWin->mpPopup->InsertItem( DEPPOPUP_NEW, String::CreateFromAscii("New object") );
- pBaseWin->mpPopup->InsertItem( DEPPOPUP_ZOOMIN, String::CreateFromAscii("Zoom in") );
- pBaseWin->mpPopup->InsertItem( DEPPOPUP_ZOOMOUT, String::CreateFromAscii("Zoom out") );
- pBaseWin->mpPopup->InsertSeparator();
- // temp disabled pBaseWin->mpPopup->InsertItem( DEPPOPUP_CLEAR, String::CreateFromAscii("Clear") );
- pBaseWin->mpPopup->InsertItem( DEPPOPUP_SHOW_TOOLBOX, String::CreateFromAscii("Show Toolbox") );
-}
-
-/*****************************************************************************/
-ObjectWin *SolDep::RemoveObject( USHORT nId, BOOL bDelete )
-/*****************************************************************************/
-{
- Prj* pPrj;
-
- //hshtable auf stand halten
- ObjectWin* pWin = RemoveObjectFromList( mpObjectList, mnSolWinCount, nId, FALSE );
- if ( pWin )
- {
- ByteString aBodyText( pWin->GetBodyText() );
- if( (pPrj = mpStarWriter->GetPrj( aBodyText )) )
- {
- mpStarWriter->Remove( pPrj );
- //cleanup ist teuer...
- mpStarWriter->CleanUp();
- delete pPrj;
- }
- else
- DBG_ASSERT( FALSE, "project not found - write" );
-
- mpSolIdMapper->Delete( aBodyText );
- if ( bDelete )
- delete pWin;
- return pWin;
- }
- else
- return NULL;
-}
-
-/*****************************************************************************/
-ULONG SolDep::AddObject( ByteString& rBodyText, BOOL bInteract )
-/*****************************************************************************/
-{
- ULONG nObjectId;
- if ( bInteract )
- {
- nObjectId = HandleNewPrjDialog( rBodyText );
- }
- else
- {
- //hashtable auf stand halten
- MyHashObject* pHObject;
- nObjectId = AddObjectToList( mpBaseWin, mpObjectList, mnSolLastId, mnSolWinCount, rBodyText, FALSE );
- pHObject = new MyHashObject( nObjectId, ObjIdToPtr(mpObjectList, nObjectId ));
- mpSolIdMapper->Insert( rBodyText, pHObject );
- }
- return nObjectId;
-}
-
-/*****************************************************************************/
-ULONG SolDep::AddPrjObject( ByteString& rBodyText, BOOL bInteract )
-/*****************************************************************************/
-{
- ULONG nObjectId;
- if ( bInteract )
- {
- nObjectId = HandleNewDirectoryDialog( rBodyText );
- }
- else
- {
- //hshtable auf stand halten
- MyHashObject* pHObject;
- nObjectId = AddObjectToList( mpBasePrjWin, mpObjectPrjList, mnPrjLastId, mnPrjWinCount, rBodyText );
- pHObject = new MyHashObject( nObjectId, ObjIdToPtr( mpObjectPrjList, nObjectId ));
- mpPrjIdMapper->Insert( rBodyText, pHObject );
- }
- return nObjectId;
-}
-
-/*****************************************************************************/
-USHORT SolDep::AddConnector( ObjectWin* pStartWin, ObjectWin* pEndWin )
-/*****************************************************************************/
-{
- ByteString sEndName = pEndWin->GetBodyText();
- ByteString sStartName = pStartWin->GetBodyText();
-
- Prj* pPrj = mpStarWriter->GetPrj( sEndName );
- if ( pPrj )
- {
- pPrj->AddDependencies( sStartName );
- return AddConnectorToObjects( pStartWin, pEndWin );
- }
- else
- {
- DBG_ASSERT( FALSE , "non existing Project" );
- return 1;
- }
-}
-
-/*****************************************************************************/
-USHORT SolDep::RemoveConnector( ObjectWin* pStartWin, ObjectWin* pEndWin )
-/*****************************************************************************/
-{
- SByteStringList* pPrjDeps = NULL;
- ByteString sEndName = pEndWin->GetBodyText();
- ByteString sStartName = pStartWin->GetBodyText();
-
- Prj* pPrj = mpStarWriter->GetPrj( sEndName );
- pPrjDeps = pPrj->GetDependencies( FALSE );
- if ( pPrjDeps )
- {
- ByteString* pString;
- ULONG nPrjDepsCount = pPrjDeps->Count();
- for ( ULONG j = nPrjDepsCount; j > 0; j-- )
- {
- pString = pPrjDeps->GetObject( j - 1 );
- if ( pString->GetToken( 0, '.') == sStartName )
- pPrjDeps->Remove( pString );
- }
- }
-
- return RemoveConnectorFromObjects( pStartWin, pEndWin );
-}
-
-/*****************************************************************************/
-void SolDep::RemoveAllObjects( ObjectList* pObjLst )
-/*****************************************************************************/
-{
-
- Depper::RemoveAllObjects( pObjLst );
-
- if ( mpSolIdMapper )
- {
- delete mpSolIdMapper;
- mpSolIdMapper = NULL;
- }
- if ( mpStarWriter )
- {
- delete mpStarWriter;
- mpStarWriter = NULL;
- }
-}
-
-/*****************************************************************************/
-ULONG SolDep::GetStart(SolIdMapper* pIdMapper, ObjectList* pObjList)
-/*****************************************************************************/
-{
- MyHashObject* pHObject = pIdMapper->Find( "null" );//null_project
-
- if ( !pHObject ) {
- ByteString sNullPrj = "null";//null_project
- ULONG nObjectId = AddObject( sNullPrj, FALSE );
- ObjIdToPtr( pObjList, nObjectId )->SetViewMask( 1 );
- return nObjectId;
- }
-
- return pHObject->GetId();
-}
-
-/*****************************************************************************/
-ULONG SolDep::GetStartPrj(SolIdMapper* , ObjectList* )
-/*****************************************************************************/
-{
- MyHashObject* pHObject = mpPrjIdMapper->Find( ByteString( "null" ) ); //null_dir
- if ( !pHObject )
- {
- ByteString bsNull("null");
- ULONG nObjectId = AddPrjObject( bsNull, FALSE); //null_dir
- return nObjectId;
- }
- else
- return pHObject->GetId();
-}
-
-/*****************************************************************************/
-USHORT SolDep::OpenSource()
-/*****************************************************************************/
-{
- if ( mpStandLst ) {
- if ( GetVersion())
- return ReadSource();
- }
- return 0;
-}
-
-/*****************************************************************************/
-USHORT SolDep::ReadSource(BOOL bUpdater)
-/*****************************************************************************/
-{
- mpBaseWin->EnablePaint( FALSE );
- mpBaseWin->Hide();
- ULONG nObjectId, nHashedId;
- ULONG i;
- MyHashObject* pHObject;
- ByteString* pStr;
- ObjectWin *pStartWin, *pEndWin;
-
- mpSolIdMapper = new SolIdMapper( 63997 );
- if (mpStandLst && bUpdater)
- {
- mpStarWriter = new StarWriter( mpStandLst, msVersionMajor, msVersionMinor, TRUE );
- } else
- {
- SolarFileList* pSolarFileList;
- pSolarFileList = GetPrjListFromDir();
- mpStarWriter = new StarWriter( pSolarFileList, TRUE );
- }
- ByteString sTitle( SOLDEPL_NAME );
- if ( mpStarWriter->GetMode() == STAR_MODE_SINGLE_PARSE ) {
- sTitle += ByteString( " - mode: single file [" );
- sTitle += (ByteString) mpStarWriter->GetName();
- sTitle += ByteString( "]" );
- }
- else if ( mpStarWriter->GetMode() == STAR_MODE_MULTIPLE_PARSE ) {
- sTitle += ByteString( " - mode: multiple files [" );
- sTitle += ByteString( "]" );
- }
- SetTitle( String( sTitle, RTL_TEXTENCODING_UTF8) );
-
- ULONG nCount = mpStarWriter->Count();
- for ( i=0; i<nCount; i++ )
- {
- Prj *pPrj = mpStarWriter->GetObject(i);
- ByteString sPrjName = pPrj->GetProjectName();
- nObjectId = AddObject( sPrjName, FALSE );
- ObjIdToPtr( mpObjectList, nObjectId )->SetViewMask( 1 );
- }
- for ( i=0; i<nCount; i++ )
- {
- Prj *pPrj = mpStarWriter->GetObject(i);
- SByteStringList *pLst = pPrj->GetDependencies( FALSE );
- if ( pLst )
- {
- ULONG nDepCount = pLst->Count();
- for ( ULONG m=0; m<nDepCount; m++)
- {
- pStr = pLst->GetObject(m);
- pHObject = mpSolIdMapper->Find( *pStr );
- if ( pHObject )
- {
- nHashedId = pHObject->GetId();
- ByteString sF_Os2 = pPrj->GetProjectName();
- pStr = &sF_Os2;
- pHObject = mpSolIdMapper->Find( *pStr );
- nObjectId = pHObject->GetId();
- pStartWin = ObjIdToPtr( mpObjectList, nHashedId );
- pEndWin = ObjIdToPtr( mpObjectList, nObjectId );
- AddConnectorToObjects( pStartWin, pEndWin );
- }
- }
- }
- }
- if (!IsPrjView())
- {
- AutoArrange( mpSolIdMapper, mpObjectList, GetStart(mpSolIdMapper,mpObjectList), 0, GetStart(mpSolIdMapper,mpObjectList) );
- GetDepWin()->EnablePaint( TRUE );
- }
- return 0;
-}
-
-SolarFileList* SolDep::GetPrjListFromDir()
-{
- SolarFileList* pSolarFileList = new SolarFileList();
- String sPrjDir( String::CreateFromAscii( "prj" ));
- String sBuildLst( String::CreateFromAscii( "build.lst" ));
- DirEntry aCurrent( getenv( SOURCEROOT ) );
-
- aCurrent.ToAbs();
- Dir aDir( aCurrent, FSYS_KIND_DIR );
-
- USHORT nEntries = aDir.Count();
- if( nEntries )
- {
- UniStringList aSortDirList;
- for ( USHORT n = 0; n < nEntries; n++ )
- {
- DirEntry& rEntry = aDir[n];
- UniString aName( rEntry.GetName() );
- if( aName.Len() && ( aName.GetChar(0) != '.' ) && rEntry.Exists() )
- {
- rEntry += DirEntry( sPrjDir );
- rEntry += DirEntry( sBuildLst );
- if (rEntry.Exists())
- {
- pSolarFileList->Insert( new String( rEntry.GetFull() ), LIST_APPEND );
- ByteString aName_dbg(rEntry.GetFull(),RTL_TEXTENCODING_UTF8);
- fprintf(stdout, "bla:%s\n", aName_dbg.GetBuffer());
- }
- }
- }
- }
- if ( !pSolarFileList->Count() )
- {
- //is empty!! TBD
- delete pSolarFileList;
- return NULL;
- }
- return pSolarFileList;
-}
-
-/*****************************************************************************/
-USHORT SolDep::WriteSource()
-/*****************************************************************************/
-{
- return 1;
-}
-
-USHORT SolDep::Load( const ByteString& rFileName )
-{
- // moved from depper class
- DBG_ASSERT( FALSE , "you are dead!" );
- SvFileStream aInFile( String( rFileName, RTL_TEXTENCODING_UTF8 ), STREAM_READ );
- depper_head dh;
- ULONG i;
- ULONG nLoadOffs = mnSolLastId; //or Prj??
- ObjectWin* pNewWin;
- aInFile.Read( &dh, sizeof( dh ));
-
- ULONG nObjCount = dh.nObjectCount;
- ULONG nCnctrCount = dh.nCnctrCount;
-
- for ( i=0; i < nObjCount ; i++ )
- {
- ObjectWin* pWin = new ObjectWin( mpBaseWin, WB_BORDER );
- pWin->Load( aInFile );
- pNewWin = ObjIdToPtr( mpObjectList, AddObjectToList( mpBaseWin, mpObjectList, mnSolLastId, mnSolWinCount, pWin->GetBodyText(), FALSE ));
- pNewWin->SetId( nLoadOffs + pWin->GetId());
- pNewWin->SetPosPixel( pWin->GetPosPixel());
- pNewWin->SetSizePixel( pWin->GetSizePixel());
- }
-
- ULONG nStartId;
- ULONG nEndId;
- // ueber addconnector fuehren!
- for ( i=0; i < nCnctrCount ; i++ )
- {
- Connector* pCon = new Connector( mpBaseWin, WB_NOBORDER );
- pCon->Load( aInFile );
-
- nStartId = nLoadOffs + pCon->GetStartId();
- nEndId = nLoadOffs + pCon->GetEndId();
-
- ObjectWin* pStartWin = ObjIdToPtr( mpObjectList, nStartId );
- ObjectWin* pEndWin = ObjIdToPtr( mpObjectList, nEndId );
-
- pCon->Initialize( pStartWin, pEndWin );
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-BOOL SolDep::ViewContent( ByteString& rObjectName )
-/*****************************************************************************/
-{
- mpFocusWin = NULL;
- SetPrjViewStatus(TRUE);
-
- for ( ULONG i = 0; i < mpObjectList->Count() && !mpFocusWin; i++ )
- if ( mpObjectList->GetObject( i )->HasFocus())
- mpFocusWin = mpObjectList->GetObject( i );
- mpProcessWin->Resize();
- GetDepWin()->Show();
- return InitPrj( rObjectName );
-}
-
-/*****************************************************************************/
-BOOL SolDep::InitPrj( ByteString& rListName )
-/*****************************************************************************/
-{
- ULONG nObjectId, nHashedId;
- ULONG i, j;
- MyHashObject* pHObject;
- ByteString *pDepName;
- ByteString *pFlagName;
- Prj* pPrj;
- ObjectWin *pStartWin, *pEndWin;
- maToolBox.HideItem(TID_SOLDEP_SELECT_WORKSPACE);
- maToolBox.HideItem(TID_SOLDEP_HIDE_INDEPENDEND);
- maToolBox.HideItem(TID_SOLDEP_FIND);
- maToolBox.ShowItem(TID_SOLDEP_BACK);
- maToolBox.Invalidate();
-
- //clean up
- mpObjectPrjList->ClearAndDelete();
- GetDepWin()->ClearConnectorList();
- if (mpPrjIdMapper) delete mpPrjIdMapper;
- mpPrjIdMapper = new SolIdMapper( 63997 ); //generate clean mapper
- mnPrjWinCount = 0;
- mnPrjLastId = 0;
-
- ULONG nCount = mpStarWriter->Count();
- GetDepWin()->EnablePaint( FALSE );
- Point aPnt = GetGraphWin()->GetPosPixel();
- Size aSize = GetGraphWin()->GetSizePixel();
-
- GetGraphWin()->SetPosSizePixel( aPnt, aSize ); // Hier wird das Window gesetzt
-
- BOOL bReturn = FALSE;
-
- for ( i=0; i<nCount; i++ )
- {
- // pPrj->GetProjectName() returns the name of the project e.g. svtools
- pPrj = mpStarWriter->GetObject(i);
- ByteString sPrjName = pPrj->GetProjectName();
- if ( sPrjName == rListName )
- {
- bReturn = TRUE;
-
- mpPrj = mpStarWriter->GetObject(i);
- ULONG nDirCount = mpPrj->Count();
- for ( j=0; j<nDirCount; j++ )
- {
- CommandData *pData = mpPrj->GetObject(j);
- fprintf( stdout, "\tProjectDir : %s\n",
- pData->GetLogFile().GetBuffer());
- // pData->GetLogFile() contains internal project IDs
- // e.g. st_mkout etc.
- if ( pData->GetLogFile() != "" )
- {
- ByteString sItem = pData->GetLogFile();
- nObjectId = AddPrjObject( sItem, FALSE);
- // there may be faster ways......
- ObjectWin *pWin = ObjIdToPtr( mpObjectPrjList, nObjectId );
- pWin->SetViewMask( 0x0001 );
- // pData->GetPath() contains internal project directories
- // e.g. svtools/inc etc.
- ByteString sPath = pData->GetPath();
- pWin->SetTipText( sPath );
- }
- }
-
- // set connectors for dependencies here
- for ( j=0; j<nDirCount; j++ )
- {
- CommandData *pData = mpPrj->GetObject(j);
- SByteStringList *pDeps = pData->GetDependencies();
- if ( pDeps )
- {
- ByteString sFlagName = pData->GetLogFile();
- pFlagName = &sFlagName;
- pHObject = mpPrjIdMapper->Find( sFlagName.GetToken( 0, '.'));
- if (pHObject)
- {
- nObjectId = pHObject->GetId();
-
- ULONG nDepCount = pDeps->Count();
- for ( ULONG k=0; k<nDepCount; k++ )
- {
- pDepName = pDeps->GetObject(k);
- pHObject = mpPrjIdMapper->Find( (*pDepName).GetToken( 0, '.'));
- if (pHObject )
- {
- nHashedId = pHObject->GetId();
- pStartWin = ObjIdToPtr( mpObjectPrjList, nHashedId );
- pEndWin = ObjIdToPtr( mpObjectPrjList, nObjectId );
-
- AddConnectorToObjects( pStartWin, pEndWin );
- }
- else
- {
- String sMessage;
- sMessage += String::CreateFromAscii("can't find ");
- sMessage += String( *pDepName, RTL_TEXTENCODING_UTF8 );
- sMessage += String::CreateFromAscii(".\ndependency ignored");
- WarningBox aBox( GetDepWin(), WB_OK, sMessage);
- aBox.Execute();
- }
- }
- }
- }
- }
- break;
- }
- }
- ByteString sNullDir = "null";
- nObjectId = AddPrjObject( sNullDir, FALSE);
- ObjectWin *pWin = ObjIdToPtr( mpObjectPrjList, nObjectId );
- pWin->SetViewMask( 0x0001 );
- mpGraphPrjWin->EnablePaint( TRUE );
- AutoArrange( mpPrjIdMapper, mpObjectPrjList, GetStartPrj(mpPrjIdMapper, mpObjectPrjList), 0, GetStartPrj(mpPrjIdMapper, mpObjectPrjList) );
- mpGraphWin->Hide();
- mpGraphPrjWin->Show();
- mpGraphPrjWin->Invalidate();
-
- return bReturn;
-}
-
-/*****************************************************************************/
-USHORT SolDep::CloseWindow()
-/*****************************************************************************/
-{
-
- ((SystemWindow*)mpProcessWin)->Close();
- return 0;
-}
-
-/*****************************************************************************/
-void SolDep::ShowHelp()
-/*****************************************************************************/
-{
- SvFileStream aHelpFile( String::CreateFromAscii( "g:\\soldep.hlp" ), STREAM_READ );
- String aHelpText;
- ByteString aGetStr;
-
- if ( aHelpFile.IsOpen() )
- {
- while ( aHelpFile.ReadLine( aGetStr ) )
- {
- aHelpText += String (aGetStr, RTL_TEXTENCODING_UTF8);
- aHelpText += String::CreateFromAscii("\n");
- }
- }
- else
- aHelpText = String::CreateFromAscii("No Helpfile found.");
-
- SolHelpDlg aHelpDlg( mpBaseWin, DtSodResId( RID_SD_DIALOG_HELP ));
- aHelpDlg.maMLEHelp.SetText( aHelpText );
- aHelpDlg.maMLEHelp.SetReadOnly();
- aHelpDlg.maMLEHelp.EnableFocusSelectionHide( TRUE );
- aHelpDlg.Execute();
-}
-
-/*****************************************************************************/
-BOOL SolDep::FindProject()
-/*****************************************************************************/
-{
- SolFindProjectDlg aFindProjectDlg( GetDepWin(), GetObjectList() );
- ObjectWin* pObjectWin = NULL;
- mpObjectList->ResetSelectedObject();
- if (IsHideMode())
- {
- GetDepWin()->Invalidate();
- }
-
- mpFocusWin=NULL;
-
- if ( aFindProjectDlg.Execute() == RET_OK ) {
- msProject = aFindProjectDlg.GetProject();
- //now we have a project string
-
- pObjectWin = mpObjectList->GetPtrByName( msProject );
- if (pObjectWin)
- {
- mpObjectList->ResetSelectedObject();
- MarkObjects( pObjectWin );
- }
- else
- {
- mpObjectList->ResetSelectedObject();
- for ( USHORT i=0; i<mpObjectList->Count(); i++ )
- {
- ObjectWin* pObjectWin = mpObjectList->GetObject( i );
- if ( !pObjectWin->IsTop() )
- pObjectWin->SetViewMask(FALSE);
- }
- }
- }
- return FALSE;
-}
-
-BOOL SolDep::MarkObjects( ObjectWin* pObjectWin )
-{
- if (pObjectWin)
- {
- if (!(pObjectWin->IsNullObject()))
- {
- pObjectWin->SetMarkMode( MARKMODE_SELECTED );
- pObjectWin->MarkNeeded();
- pObjectWin->MarkDepending();
- if (IsHideMode())
- {
- GetDepWin()->Invalidate();
- }
- } else
- {
- fprintf(stdout,"null\n");
- }
- }
- return TRUE;
-}
-
-void SolDep::Resize()
-{
- //funzt! mu aber von der applikation aufgerufen werden.
- Point aOutPos = Point( 0, 0 );
- Size aOutSize = mpProcessWin->GetOutputSizePixel();
- // calculate output size
- ULONG nTaskHeight = maToolBox.CalcWindowSizePixel().Height();
- ULONG nTaskWidth = maToolBox.CalcWindowSizePixel().Width();
- Size aSize( aOutSize.Width(), nTaskHeight );
-
- Point aGraphWinPos = Point(0,0);
- Size aGraphWinSize = Size(0,0);
-
- // Set Docking-Rectangle for ToolBar
- Rectangle aInRect;
-
- if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_TOP ))
- {
- // waagerechte Toolbar oben
- maToolBox.SetPosSizePixel( aOutPos, Size( aOutSize.Width(), maToolBox.CalcWindowSizePixel().Height()));
- if( maToolBox.IsVisible())
- {
- Point aOutPosTmp;
- Size aOutSizeTmp;
- aOutPosTmp = Point( aOutPos.X(), aOutPos.Y() + maToolBox.CalcWindowSizePixel().Height());
- aOutSizeTmp = Size( aOutSize.Width(), aOutSize.Height() - maToolBox.CalcWindowSizePixel().Height());
- aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
- aGraphWinPos = Point( 0, nTaskHeight );
- aGraphWinSize = Size( aOutSize.Width(), aOutSize.Height() - nTaskHeight);
- }
- }
- if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_BOTTOM ))
- {
- // waagerechte Toolbar unten
- Point aTbPos = Point( aOutPos.X(), aOutPos.Y() + aOutSize.Height() - maToolBox.CalcWindowSizePixel().Height());
- Size aTbSize = Size( aOutSize.Width(), maToolBox.CalcWindowSizePixel().Height());
- maToolBox.SetPosSizePixel( aTbPos, aTbSize );
- if( maToolBox.IsVisible())
- {
- Point aOutPosTmp;
- Size aOutSizeTmp;
- aOutPosTmp = Point( aOutPos.X(), aOutPos.Y() + maToolBox.CalcWindowSizePixel().Height());
- aOutSizeTmp = Size( aOutSize.Width(), aOutSize.Height() - maToolBox.CalcWindowSizePixel().Height());
- aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
- aGraphWinPos = Point( 0, 0 );
- aGraphWinSize = Size( aOutSize.Width(), aOutSize.Height() - nTaskHeight);
- }
- }
- if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_LEFT ))
- {
- // senkrechte ToolBar links
- maToolBox.SetPosSizePixel( aOutPos, Size( maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height()));
- if( maToolBox.IsVisible())
- {
- Point aOutPosTmp;
- Size aOutSizeTmp;
- aOutPosTmp = Point( aOutPos.X() + maToolBox.CalcWindowSizePixel().Width(), aOutPos.Y());
- aOutSizeTmp = Size( aOutSize.Width()- maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height());
- aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
- aGraphWinPos = Point( nTaskWidth, 0 );
- aGraphWinSize = Size( aOutSize.Width() - nTaskWidth, aOutSize.Height());
- }
- }
- if (( !maToolBox.IsFloatingMode() ) && ( maToolBox.GetAlign() == WINDOWALIGN_RIGHT ))
- {
- // senkrechte ToolBar rechts
- Point aTbPos = Point( aOutPos.X() + aOutSize.Width() - maToolBox.CalcWindowSizePixel().Width(), aOutPos.Y());
- Size aTbSize= Size( maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height());
- maToolBox.SetPosSizePixel( aTbPos, aTbSize);
- if( maToolBox.IsVisible())
- {
- Point aOutPosTmp;
- Size aOutSizeTmp;
- aOutPosTmp = Point( aOutPos.X() + maToolBox.CalcWindowSizePixel().Width(), aOutPos.Y());
- aOutSizeTmp = Size( aOutSize.Width()- maToolBox.CalcWindowSizePixel().Width(), aOutSize.Height());
- aInRect = Rectangle( aOutPosTmp, aOutSizeTmp );
- aGraphWinPos = Point( 0, 0 );
- aGraphWinSize = Size( aOutSize.Width() - nTaskWidth, aOutSize.Height());
- }
- }
-
- Rectangle rout = Rectangle( Point( 0,0 ), aOutSize );
- Rectangle rin = Rectangle( Point( 0,0 ), Size( aOutSize.Width(), aOutSize.Height()));
- maToolBox.SetDockingRects( rout, rin );
-
- BOOL bFloating = maToolBox.IsFloatingMode();
-
- if ( bFloating )
- {
- GetGraphWin()->SetPosSizePixel(Point(0,0),aOutSize);
- if (maToolBox.IsVisible()) maToolBox.Show();
- } else {
- GetGraphWin()->SetPosSizePixel( aGraphWinPos, aGraphWinSize );
- }
- if (maToolBox.IsVisible()) maToolBox.Show();
-}
-
-USHORT SolDep::AddConnectorPrjView( ObjectWin* pStartWin, ObjectWin* pEndWin )
-{
- ByteString sEndName = pEndWin->GetBodyText();
- ByteString sStartName = pStartWin->GetBodyText();
- if ( sStartName != ByteString("null"))
- {
- CommandData* pEndData = mpPrj->GetDirectoryData( sEndName );
- SByteStringList* pDeps = pEndData->GetDependencies();
- if ( pDeps )
- pDeps->PutString( &sStartName );
- else
- {
- pDeps = new SByteStringList();
- pEndData->SetDependencies( pDeps );
- pDeps->PutString( &sStartName );
- pEndData->GetDependencies();
- }
- }
- return AddConnectorToObjects( pStartWin, pEndWin );
-}
-
-USHORT SolDep::RemoveConnectorPrjView( ObjectWin* pStartWin, ObjectWin* pEndWin )
-{
- ByteString sEndName = pEndWin->GetBodyText();
- ByteString sStartName = pStartWin->GetBodyText();
- CommandData* pEndData = mpPrj->GetDirectoryData( sEndName );
- SByteStringList* pDeps = pEndData->GetDependencies();
- if ( pDeps )
- {
- ByteString* pString;
- ULONG nDepsCount = pDeps->Count();
- for ( ULONG j = nDepsCount; j > 0; j-- )
- {
- pString = pDeps->GetObject( j - 1 );
- if ( pString->GetToken( 0, '.') == sStartName )
- pDeps->Remove( pString );
- }
- }
- return RemoveConnectorFromObjects( pStartWin, pEndWin );
-}
-
-USHORT SolDep::AutoArrange( SolIdMapper* pIdMapper, ObjectList* pObjLst, ULONG nTopId, ULONG nBottmId, ULONG aObjID )
-{
- AutoArrangeDlgStart();
- OptimizePos(pIdMapper, pObjLst, nTopId, nBottmId, aObjID );
- AutoArrangeDlgStop();
- return 0;
-}
-
-Point SolDep::CalcPos( USHORT nSet, USHORT nIndex )
-{
- int nRowIndex = nIndex / DEPPER_MAX_WIDTH;
- ULONG nPosX = mnXOffset + nRowIndex % 3 * GetDefSize().Width() / 3 + ( nIndex - ( DEPPER_MAX_WIDTH * nRowIndex )) * (GetDefSize().Width() + OBJWIN_X_SPACING );
-
- ULONG nPosY = ( nSet + mnLevelOffset + nRowIndex ) * ( GetDefSize().Height() + OBJWIN_Y_SPACING ) + OBJWIN_Y_SPACING;
- Point aPos( nPosX, nPosY );
- return aPos;
-}
-
-ULONG SolDep::CalcXOffset( ULONG nObjectsToFit )
-{
- long nDynXOffs;
- long nXMiddle;
- ULONG nTrigger;
-
- nXMiddle = GetDepWin()->PixelToLogic( GetDepWin()->GetSizePixel()).Width() / 2;
- if ( nObjectsToFit > DEPPER_MAX_WIDTH )
- nObjectsToFit = DEPPER_MAX_WIDTH - 1 + DEPPER_MAX_WIDTH % 2;
- nTrigger = ( nObjectsToFit - 1 ) / 2;
- nDynXOffs = ( GetDefSize().Width() + OBJWIN_X_SPACING ) * nTrigger;
- ULONG nXOffs = nXMiddle - nDynXOffs;
-
- if ( ULONG(nXMiddle - nDynXOffs) < mnMinDynXOffs )
- mnMinDynXOffs = nXMiddle - nDynXOffs;
-
- return nXOffs;
-
-}
-
-double SolDep::CalcDistSum( ObjWinList* pObjList, DistType eDistType )
-{
- ObjectWin* pWin;
- Connector* pCon;
- ULONG nObjCount = pObjList->Count();
- double dRetVal = 0;
- double dWinVal;
- USHORT i, j;
- BOOL bIsStart;
-
- for ( i = 0; i < nObjCount; i++ )
- {
- pWin = pObjList->GetObject( i );
-
- if ( pWin && pWin->IsVisible())
- {
- j = 0;
- dWinVal = 0;
- while ( (pCon = pWin->GetConnector( j )) )
- {
- if ( pCon->IsVisible()) {
- bIsStart = pCon->IsStart( pWin );
- if ( eDistType != BOTH )
- if ( eDistType == TOPDOWN )
- {
- if ( bIsStart )
- {
- pCon->UpdatePosition( pWin, FALSE );
- dWinVal += pCon->GetLen() * pWin->mnHeadDist;
- }
- }
- else
- {
- if ( !bIsStart )
- {
- pCon->UpdatePosition( pWin, FALSE );
- dWinVal += pCon->GetLen() * pWin->mnRootDist;
- }
-
- }
- else
- {
- pCon->UpdatePosition( pWin, FALSE );
- if ( !bIsStart )
- dWinVal += pCon->GetLen() * ( pWin->mnHeadDist + 1 );
- else
- dWinVal += pCon->GetLen() * pWin->mnRootDist;
- }
- }
- j++;
- }
- dRetVal += dWinVal;
- }
- }
- return dRetVal;
-}
-
-USHORT SolDep::Impl_Traveller( ObjectWin* pWin, USHORT nDepth )
-{
- USHORT i = 0;
- ObjectWin* pNewWin;
- Connector* pCon;
-
- nDepth++;
-
- USHORT nMaxDepth = nDepth;
-
- pWin->mbVisited = TRUE;
- pWin->mnRootDist = Max ( nDepth, pWin-> mnRootDist );
- if ( nDepth > DEPPER_MAX_DEPTH )
- {
- DBG_ASSERT( nDepth != DEPPER_MAX_DEPTH + 1, "Ringabhngigkeit!" );
- nDepth++;
- return DEP_ENDLES_RECURSION_FOUND;
- }
-
- while ( (pCon = pWin->GetConnector( i )) )
- {
- if ( pCon->IsStart( pWin )&& pCon->IsVisible() ) //removed: don't show null_project
- {
- pNewWin = pCon->GetOtherWin( pWin );
- nMaxDepth = Max( Impl_Traveller( pNewWin, nDepth ), nMaxDepth );
- if( nMaxDepth == DEP_ENDLES_RECURSION_FOUND )
- {
- mpTravellerList->Insert( pWin, LIST_APPEND );
- return DEP_ENDLES_RECURSION_FOUND;
- }
- }
- i++;
- }
- pWin->mnHeadDist = MAX( pWin->mnHeadDist, nMaxDepth - nDepth );
- return nMaxDepth;
-}
-
-
-double SolDep::Impl_PermuteMin( ObjWinList& rObjList, Point* pPosArray, ObjWinList& rResultList, double dMinDist, ULONG nStart, ULONG nSize, DistType eDistType )
-{
- ULONG i, j, l;
- ULONG nEnd = nStart + nSize;
- ObjectWin* pSwapWin;
- ULONG nLevelObjCount = rObjList.Count();
-
- //dont use full recusion for more than 6 objects
- if ( nLevelObjCount > 6 )
- {
- srand(( unsigned ) time( NULL ));
-
- ULONG nIdx1, nIdx2;
- for ( i = 0; i < 101; i++ )
- {
- UpdateSubProgrssBar(i);
- for ( j = 0; j < 100; j++ )
- {
- nIdx1 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
- while ( rObjList.GetObject( nIdx1 ) == NULL )
- nIdx1 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
- nIdx2 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
- while ( nIdx1 == nIdx2 || nIdx2 == nLevelObjCount )
- nIdx2 = (ULONG) ( double( rand() ) / RAND_MAX * nLevelObjCount );
-
- pSwapWin = rObjList.GetObject( nIdx1 );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ nIdx2 ] );
- pSwapWin = rObjList.Replace( pSwapWin, nIdx2 );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ nIdx1 ] );
- rObjList.Replace( pSwapWin, nIdx1 );
-
- double dCurDist = CalcDistSum( &rObjList, eDistType );
-
- if ( dCurDist < dMinDist )
- {
- dMinDist = dCurDist;
- rResultList.Clear();
- for ( l = 0; l < nLevelObjCount; l++ )
- {
- pSwapWin = rObjList.GetObject( l );
- rResultList.Insert( pSwapWin, LIST_APPEND);
- }
- }
- if ( dCurDist > dMinDist * 15 )
- {
- pSwapWin = rObjList.GetObject( nIdx1 );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ nIdx2 ] );
- pSwapWin = rObjList.Replace( pSwapWin, nIdx2 );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ nIdx1 ] );
- rObjList.Replace( pSwapWin, nIdx1 );
- }
- }
- }
- }
- else
- {
- for ( i = nStart ; i < nEnd; i++)
- {
- if ( nSize > 1 )
- {
- pSwapWin = rObjList.GetObject( i );
- pSwapWin = rObjList.Replace( pSwapWin, nStart );
- rObjList.Replace( pSwapWin, i );
- double dPermuteDist = Impl_PermuteMin( rObjList, pPosArray, rResultList, dMinDist, nStart + 1, nSize - 1, eDistType );
- dMinDist = MIN( dMinDist, dPermuteDist);
- pSwapWin = rObjList.GetObject( i );
- pSwapWin = rObjList.Replace( pSwapWin, nStart );
- rObjList.Replace( pSwapWin, i );
-
- }
- else
- {
- for ( l = 0; l < nLevelObjCount; l++ )
- {
- pSwapWin = rObjList.GetObject( l );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( pPosArray[ l ] );
- }
-
- double dCurDist = CalcDistSum( &rObjList, eDistType );
-
- if ( dCurDist < dMinDist )
- {
- dMinDist = dCurDist;
- rResultList.Clear();
- for ( l = 0; l < nLevelObjCount; l++ )
- {
- pSwapWin = rObjList.GetObject( l );
- rResultList.Insert( pSwapWin, LIST_APPEND);
- }
- }
-
- }
- }
- }
-
- return dMinDist;
-}
-
-
-USHORT SolDep::OptimizePos(SolIdMapper* pIdMapper, ObjectList* pObjLst, ULONG nTopId, ULONG nBottmId, ULONG aObjID )
-{
- ObjWinList aWorkList;
- ObjectWin* pWin;
- Connector* pCon;
- USHORT nRootDist = (USHORT) -1;
- USHORT i, j, k, l, nRetVal;
- USHORT LevelUse[ DEPPER_MAX_DEPTH ];
- USHORT LevelSecUse[ DEPPER_MAX_DEPTH ];
- ObjWinList* LevelList[ DEPPER_MAX_DEPTH ];
- ObjWinList* LevelSecList[ DEPPER_MAX_DEPTH ];
- Point aPosArray[ DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH ];
-
- mnMinDynXOffs = 0xffff;
-
- for ( i = 0; i < DEPPER_MAX_DEPTH; i++ )
- {
- LevelUse[ i ] = 0;
- LevelList[ i ] = NULL;
- LevelSecUse[ i ] = 0;
- LevelSecList[ i ] = NULL;
- }
-
- GetDepWin()->EnablePaint( FALSE );
-
- ULONG nObjCount = pObjLst->Count();
- for ( i = 0; i < nObjCount; i++ )
- {
- pWin = pObjLst->GetObject( i );
- if ( pWin->IsVisible()) {
- pWin->mbVisited = FALSE;
- pWin->mnHeadDist = 0;
- pWin->mnRootDist = 0;
-
- // find initial objects which need to be connected with
- // root object
- j = 0;
- USHORT nStartCount = 0;
- USHORT nEndCount = 0;
- while ( (pCon = pWin->GetConnector( j )) )
- {
- if ( pCon->IsVisible()) { //null_project
- if( pCon->IsStart( pWin ))
- nStartCount++;
- else
- {
- nEndCount = 1;
- break;
- }
- }
- j++;
- }
-
- if ( nStartCount > 0 && nEndCount == 0 )
- if ( nTopId != pWin->GetId())
- AddConnectorToObjects( pObjLst, nTopId, pWin->GetId());
-
- }
- }
-
- pWin = ObjIdToPtr( pObjLst, nTopId );
-
- if ( mpTravellerList )
- {
- mpTravellerList->Clear();
- delete mpTravellerList;
- }
- mpTravellerList = new ObjWinList();
- // set root and top distance
- nRetVal = Impl_Traveller( pWin, nRootDist );
-
- DBG_ASSERT( nRetVal < DEPPER_MAX_DEPTH , "zu tief" );
- if ( nRetVal == DEP_ENDLES_RECURSION_FOUND )
- {
- WriteToErrorFile();
- return nRetVal;
- }
-
- ULONG nUnvisited = 0;
- ULONG nUnvisYOffs = 0;
-
- // seperate mainstream, secondary and unconnected
- for ( i = 0; i < nObjCount; i++ )
- {
- pWin = pObjLst->GetObject( i );
- if ( pWin->IsVisible()) {
- if (( pWin->mnHeadDist + pWin->mnRootDist ) == nRetVal )
- {
- if ( !LevelList[ pWin->mnHeadDist ] )
- LevelList[ pWin->mnHeadDist ] = new ObjWinList;
- LevelList[ pWin->mnHeadDist ]->Insert( pWin );
- LevelUse[ pWin->mnHeadDist ]++;
- }
- else
- if ( pWin->mbVisited )
- {
- if ( !LevelSecList[ nRetVal - pWin->mnRootDist ] )
- LevelSecList[ nRetVal - pWin->mnRootDist ] = new ObjWinList;
- LevelSecList[ nRetVal - pWin->mnRootDist ]->Insert( pWin );
- LevelSecUse[ nRetVal - pWin->mnRootDist ]++;
- }
- else
- {
- // need to be arranged more intelligent...
- Point aPos( 5, nUnvisYOffs );
- pWin->SetCalcPosPixel( aPos );
-
- Point aTmpPos = pWin->GetCalcPosPixel();
- pWin->SetPosPixel( mpBaseWin->LogicToPixel( aTmpPos ));
-
- nUnvisYOffs += pWin->PixelToLogic( pWin->GetSizePixel()).Height();
- nUnvisited++;
- }
- }
- }
-
- mnLevelOffset = 0;
-
- USHORT nScaleVal;
-
- if ( nRetVal == 0 )
- nScaleVal = 1;
- else
- nScaleVal = nRetVal;
-
- i = 0;
-
- USHORT nStep = 0;
-
- while ( LevelList[ i ] )
- {
- UpdateMainProgressBar(i, nScaleVal, nStep);
- DBG_ASSERT( LevelUse[ i ] == LevelList[ i ]->Count() , "level index im a..." );
- ObjectWin* pSwapWin;
- ULONG nLevelObjCount = LevelList[ i ]->Count();
-
- if ( nLevelObjCount % 2 == 0 )
- {
- LevelList[ i ]->Insert( NULL, LIST_APPEND );
- nLevelObjCount++;
- }
-
- // catch too big lists
- DBG_ASSERT( nLevelObjCount < DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH , "graph zu breit! dat geiht nich gut. breaking" );
- if ( nLevelObjCount >= DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH )
- {
- WarningBox aWBox( mpBaseWin, WB_OK, String::CreateFromAscii("graph zu breit! dat geiht nich gut. breaking"));
- aWBox.Execute();
- break;
- }
- mnXOffset = CalcXOffset( nLevelObjCount );
- aWorkList.Clear();
-
- // initial positioning for mainstream
- for ( j = 0; j < nLevelObjCount; j++ )
- {
- pSwapWin = LevelList[ i ]->GetObject( j );
- aWorkList.Insert( pSwapWin, LIST_APPEND);
- Point aPos = CalcPos( i, j );
- aPosArray[ j ] = aPos;
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
-
- double dMinDist = CalcDistSum( LevelList[ i ] );
-
- // optimize mainstream order and return best matching list in "aWorkList"
- dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelObjCount ));
-
- // set optimized positions - may still be wrong from later tries
- for ( j = 0; j < nLevelObjCount; j++ )
- {
- pSwapWin = aWorkList.GetObject( j );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
-
- if ( LevelSecList[ i ] != NULL )
- {
- ULONG nLevelSecObjCount = LevelSecList[ i ]->Count();
- // expand list for better positioning
- while ( nLevelSecObjCount + LevelUse[ i ] < DEPPER_MAX_WIDTH - 1 )
- {
- LevelSecList[ i ]->Insert( NULL, LIST_APPEND );
- nLevelSecObjCount++;
- }
- if ( ( nLevelSecObjCount + LevelUse[ i ])% 2 == 0 )
- {
- LevelSecList[ i ]->Insert( NULL, LIST_APPEND );
- nLevelSecObjCount++;
- }
-
- DBG_ASSERT( nLevelSecObjCount < DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH , "graph zu breit! dat geiht nich gut. breaking" );
- if ( nLevelObjCount >= DEPPER_MAX_LEVEL_WIDTH * DEPPER_MAX_WIDTH )
- {
- WarningBox aWBox( mpBaseWin, WB_OK, String::CreateFromAscii("graph zu breit! dat geiht nich gut. breaking"));
- aWBox.Execute();
- break;
- }
- mnXOffset = CalcXOffset( LevelUse[ i ] + nLevelSecObjCount );
- aWorkList.Clear();
-
- l = 0;
- BOOL bUsedPos;
-
- // find free positions for secondary objects
- for ( j = 0; j < ( LevelUse[ i ] + nLevelSecObjCount ) ; j++ )
- {
- Point aPos = CalcPos( i, j );
- bUsedPos = FALSE;
- // is already occupied?
- for ( k = 0; k < nLevelObjCount; k++ )
- {
- if ( LevelList[ i ]->GetObject( k ) )
- if ( aPos == LevelList[ i ]->GetObject( k )->GetCalcPosPixel() )
- bUsedPos = TRUE;
- }
- // if its free, add to pool
- if ( !bUsedPos )
- {
- aPosArray[ l ] = aPos;
- l++;
- }
- }
-
- // initial positioning for secodaries
- for ( j = 0 ; j < nLevelSecObjCount ; j++ )
- {
- pSwapWin = LevelSecList[ i ]->GetObject( j );
- aWorkList.Insert( pSwapWin, LIST_APPEND);
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
- dMinDist = CalcDistSum( LevelSecList[ i ] );
-
- dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelSecList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelSecObjCount ));
-
- // set optimized positions - may still be wrong from later tries
- for ( j = 0; j < nLevelSecObjCount; j++ )
- {
- pSwapWin = aWorkList.GetObject( j );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
- if ( LevelUse[ i ] + LevelSecUse[ i ] > DEPPER_MAX_WIDTH )
- mnLevelOffset++;
- }
- if ( LevelUse[ i ] + LevelSecUse[ i ] > DEPPER_MAX_WIDTH )
- mnLevelOffset+= ( LevelUse[ i ] + LevelSecUse[ i ] ) / DEPPER_MAX_WIDTH ;
- i++;
- }
-
- mnMinDynXOffs = 0xffff;
-
- // and back again...
- // get better results form already preoptimized upper and lower rows
-
- do
- {
- i--;
- UpdateMainProgressBar(i, nScaleVal, nStep, TRUE); // TRUE ~ counting down
- if ( LevelUse[ i ] + LevelSecUse[ i ] > DEPPER_MAX_WIDTH )
- mnLevelOffset-= ( LevelUse[ i ] + LevelSecUse[ i ] ) / DEPPER_MAX_WIDTH ;
- ObjectWin* pSwapWin;
- ULONG nLevelObjCount = LevelList[ i ]->Count();
- mnXOffset = CalcXOffset( nLevelObjCount );
- aWorkList.Clear();
-
- for ( j = 0; j < nLevelObjCount; j++ )
- {
- pSwapWin = LevelList[ i ]->GetObject( j );
- aWorkList.Insert( pSwapWin, LIST_APPEND);
- Point aPos = CalcPos( i, j );
- aPosArray[ j ] = aPos;
- //no need to do this stuff....... ?????
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
-
- double dMinDist = CalcDistSum( LevelList[ i ], BOTH );
-
- dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelObjCount, BOTH ));
- // wrong position for remaping - keep old positions for comparing
- for ( j = 0; j < nLevelObjCount; j++ )
- {
- pSwapWin = aWorkList.GetObject( j );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
-
- if ( LevelSecList[ i ] != NULL )
- {
- ULONG nLevelSecObjCount = LevelSecList[ i ]->Count();
- mnXOffset = CalcXOffset( LevelUse[ i ] + nLevelSecObjCount );
- aWorkList.Clear();
-
- l = 0;
- BOOL bUsedPos;
-
- for ( j = 0; j < ( LevelUse[ i ] + nLevelSecObjCount ) ; j++ )
- {
- Point aPos = CalcPos( i, j );
- bUsedPos = FALSE;
- // could be faster
- for ( k = 0; k < nLevelObjCount; k++ )
- {
- if ( LevelList[ i ]->GetObject( k ) )
- if ( aPos == LevelList[ i ]->GetObject( k )->GetCalcPosPixel() )
- bUsedPos = TRUE;
- }
- if ( !bUsedPos )
- {
- aPosArray[ l ] = aPos;
- l++;
- }
- }
-
- for ( j = 0 ; j < nLevelSecObjCount ; j++ )
- {
- pSwapWin = LevelSecList[ i ]->GetObject( j );
- aWorkList.Insert( pSwapWin, LIST_APPEND);
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
- dMinDist = CalcDistSum( LevelSecList[ i ], BOTH );
-
- dMinDist = MIN( dMinDist, Impl_PermuteMin( *(LevelSecList[ i ]), aPosArray, aWorkList, dMinDist, 0, nLevelSecObjCount, BOTH ));
- // wrong position for remaping - keep old positions for comparing
- for ( j = 0; j < nLevelSecObjCount; j++ )
- {
- pSwapWin = aWorkList.GetObject( j );
- if ( pSwapWin )
- pSwapWin->SetCalcPosPixel( aPosArray[ j ] );
- }
- }
- } while ( i != 0 );
- SetMainProgressBar( 100 );
-
- ULONG nNewXSize = ( DEPPER_MAX_WIDTH + 1 ) * ( OBJWIN_X_SPACING + GetDefSize().Width() );
-
- ObjectWin* pObjWin = ObjIdToPtr( pObjLst, aObjID);
-
- ULONG nNewYSize = pObjWin->GetCalcPosPixel().Y() + GetDefSize().Height() + 2 * OBJWIN_Y_SPACING;
- if (( nUnvisYOffs + GetDefSize().Height()) > nNewYSize )
- nNewYSize = nUnvisYOffs + GetDefSize().Height();
-
- MapMode aMapMode = GetDepWin()->GetMapMode();
- Size aTmpSize( (ULONG) (double(nNewXSize) * double( aMapMode.GetScaleX())), (ULONG) (double( nNewYSize) * double( aMapMode.GetScaleY())));
-
- Size aNowSize( GetGraphWin()->GetSizePixel());
-
- if ( GetDepWin()->LogicToPixel( aNowSize ).Width() > aTmpSize.Width() )
- aTmpSize.Width() = GetDepWin()->LogicToPixel( aNowSize ).Width() ;
-
- if ( GetDepWin()->LogicToPixel( aNowSize ).Height() > aTmpSize.Height() )
- aTmpSize.Height() = GetDepWin()->LogicToPixel( aNowSize ).Height() ;
-
- // now remap all objects
- ULONG nAllObjCount = pObjLst->Count();
- Point aTmpPos;
- for ( j = 0; j < nAllObjCount; j++ )
- {
- pWin = pObjLst->GetObject( j );
- if ( pWin->IsVisible()) {
- aTmpPos = pWin->GetCalcPosPixel();
- if ( pWin->mbVisited )
- {
- // reserve space for unconnected
- aTmpPos.X() -= mnMinDynXOffs;
- aTmpPos.X() += GetDefSize().Width() + OBJWIN_X_SPACING;
- // center window
- aTmpPos.X() += GetDefSize().Width() / 2;
- aTmpPos.X() -= pWin->PixelToLogic( pWin->GetSizePixel()).Width() / 2 ;
- }
- pWin->SetPosPixel( GetDepWin()->LogicToPixel( aTmpPos ));
- }
- }
- aWorkList.Clear();
- GetDepWin()->EnablePaint( TRUE );
- GetDepWin()->Invalidate();
- //LevelListen loeschen H? Welche Levellisten?
-
- //Update all Connectors
- // --> To be done: Don't call twice Object1-Connector-Object2
- ObjectWin* pObject1;
- for ( i = 0 ; i < nObjCount ; i++)
- {
- pObject1 = pObjLst->GetObject( i );
- if ( pObject1->IsVisible())
- pObject1->UpdateConnectors();
- };
- return 0;
-}
-
-void SolDep::WriteToErrorFile()
-{
- //Needs some improvement
- ObjectWin* pWin;
- WarningBox aWBox( mpBaseWin, WB_OK, String::CreateFromAscii("graph too deep! dat geiht nich gut.\nlook at depper.err in your Tmp-directory\nfor list of objects"));
- aWBox.Execute();
- char *tmpdir = getenv("TMP");
- char *errfilebasename = "depper.err";
- char *ErrFileName = (char*) malloc( strlen( tmpdir ) + strlen( errfilebasename) + 3 );
- *ErrFileName = '\0';
- strcat( ErrFileName, tmpdir );
- strcat( ErrFileName, "\\" );
- strcat( ErrFileName, errfilebasename );
- FILE* pErrFile = fopen( "depper.err", "w+" );
- if ( pErrFile )
- {
- for ( USHORT i = 0; i < mpTravellerList->Count(); i++ )
- {
- pWin = mpTravellerList->GetObject( i );
- fprintf( pErrFile, " %s -> \n", (pWin->GetBodyText()).GetBuffer());
- }
- fclose( pErrFile );
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/soldep.ico b/soldep/source/soldep.ico
deleted file mode 100644
index dc0812889368..000000000000
--- a/soldep/source/soldep.ico
+++ /dev/null
Binary files differ
diff --git a/soldep/source/soldlg.cxx b/soldep/source/soldlg.cxx
deleted file mode 100644
index c48090998a88..000000000000
--- a/soldep/source/soldlg.cxx
+++ /dev/null
@@ -1,269 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <tools/geninfo.hxx>
-//#include "depapp.hxx"
-#include <soldep/soldep.hxx>
-#include <soldep/soldlg.hxx>
-#include <soldep/soldlg.hrc>
-
-#ifndef SOLARIS
-#define SIZE( nX, nY) \
- LogicToLogic(Size(nX,nY),&MapMode(MAP_APPFONT),&GetMapMode())
-#define POS(nX, nY) \
- LogicToLogic(Point(nX,nY),&MapMode(MAP_APPFONT),&GetMapMode())
-#else
-#define SIZE( nX, nY) \
- LogicToLogic(Size(nX,nY),MapMode(MAP_APPFONT),GetMapMode())
-#define POS(nX, nY) \
- LogicToLogic(Point(nX,nY),MapMode(MAP_APPFONT),GetMapMode())
-#endif
-
-
-//
-// class SolNewProjectDlg
-//
-
-/*****************************************************************************/
-SolNewProjectDlg::SolNewProjectDlg( Window* pParent, const ResId& rResId )
-/*****************************************************************************/
- : ModalDialog( pParent, rResId ),
- maOkButton( this, DtSodResId( BTN_OK )),
- maCancelButton( this, DtSodResId( BTN_CANCEL )),
- maFTName( this, DtSodResId( FT_PRJNAME )),
- maEName( this, DtSodResId( EDIT_PRJNAME )),
- maFTShort( this, DtSodResId( FT_PRJSHORT )),
- maEShort( this, DtSodResId( EDIT_PRJSHORT )),
- maFTDeps( this, DtSodResId( FT_PRJDEPS )),
- maEDeps( this, DtSodResId( EDIT_PRJDEPS ))
-{
- FreeResource();
- maOkButton.SetClickHdl( LINK( this, SolNewProjectDlg, OkHdl ));
- maCancelButton.SetClickHdl( LINK( this, SolNewProjectDlg, CancelHdl ));
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolNewProjectDlg, OkHdl, Button*, pOkBtn )
-/*****************************************************************************/
-{
- EndDialog( 1 );
- return 0;
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolNewProjectDlg, CancelHdl, Button*, pCancelBtn )
-/*****************************************************************************/
-{
- EndDialog( 0 );
- return 0;
-}
-
-//
-// class SolNewDirectoryDlg
-//
-
-/*****************************************************************************/
-SolNewDirectoryDlg::SolNewDirectoryDlg( Window* pParent, const ResId& rResId )
-/*****************************************************************************/
- : ModalDialog( pParent, rResId ),
- maOkButton( this, DtSodResId( BTN_OK )),
- maCancelButton( this, DtSodResId( BTN_CANCEL )),
- maFTName( this, DtSodResId( FT_DIRNAME )),
- maEName( this, DtSodResId( EDIT_DIRNAME )),
- maFTFlag( this, DtSodResId( FT_DIRFLAG )),
- maEFlag( this, DtSodResId( EDIT_DIRFLAG )),
- maFTDeps( this, DtSodResId( FT_DIRDEPS )),
- maEDeps( this, DtSodResId( EDIT_DIRDEPS )),
- maFTAction( this, DtSodResId( FT_DIRACTION )),
- maEAction( this, DtSodResId( EDIT_DIRACTION )),
- maFTEnv( this, DtSodResId( FT_DIRENV )),
- maEEnv( this, DtSodResId( EDIT_DIRENV ))
-{
- FreeResource();
- maOkButton.SetClickHdl( LINK( this, SolNewDirectoryDlg, OkHdl ));
- maCancelButton.SetClickHdl( LINK( this, SolNewDirectoryDlg, CancelHdl ));
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolNewDirectoryDlg, OkHdl, Button*, pOkBtn )
-/*****************************************************************************/
-{
- EndDialog( 1 );
- return 0;
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolNewDirectoryDlg, CancelHdl, Button*, pCancelBtn )
-/*****************************************************************************/
-{
- EndDialog( 0 );
- return 0;
-}
-
-//
-// class SolHelpDlg
-//
-
-/*****************************************************************************/
-SolHelpDlg::SolHelpDlg( Window* pParent, const ResId& rResId )
-/*****************************************************************************/
- : ModalDialog( pParent, rResId ),
- maOkButton( this, DtSodResId( BTN_OK )),
- maMLEHelp( this, DtSodResId( EDIT_HELP ))
-{
- FreeResource();
- maOkButton.SetClickHdl( LINK( this, SolHelpDlg, OkHdl ));
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolHelpDlg, OkHdl, Button*, pOkBtn )
-/*****************************************************************************/
-{
- EndDialog( 1 );
- return 0;
-}
-
-//
-// class SolSelectVersionDlg
-//
-
-/*****************************************************************************/
-SolSelectVersionDlg::SolSelectVersionDlg(
- Window *pParent, GenericInformationList *pStandLst )
-/*****************************************************************************/
- : ModalDialog( pParent, DtSodResId( DLG_VERSIONSELECT )),
- maVersionListBox( this, DtSodResId( DLG_VERSIONSELECT_LISTBOX )),
- maVersionGroupBox( this, DtSodResId( DLG_VERSIONSELECT_GROUP )),
- maMinorEditBox( this, DtSodResId( DLG_MINORSELECT_EDIT )),
- maMinorGroupBox( this, DtSodResId( DLG_MINORSELECT_GROUP )),
- maOKButton( this, DtSodResId( DLG_VERSIONSELECT_OK )),
- maCancelButton( this, DtSodResId( DLG_VERSIONSELECT_CANCEL ))
-{
- FreeResource();
- //Fill the ListBox with MWS versions (e.g. SRC680) from "stand.lst"
- for ( ULONG i = 0; i < pStandLst->Count(); i++ ) {
- String sVersion( *pStandLst->GetObject( i ), RTL_TEXTENCODING_ASCII_US );
- maVersionListBox.InsertEntry( sVersion );
- }
-
- if ( pStandLst->Count())
- maVersionListBox.SelectEntryPos( 0 );
-
- maVersionListBox.SetDoubleClickHdl(
- LINK( this, SolSelectVersionDlg, DoubleClickHdl ));
-
-}
-
-/*****************************************************************************/
-ByteString SolSelectVersionDlg::GetVersionMajor()
-/*****************************************************************************/
-{
- //Returns the selected version
- return ByteString(maVersionListBox.GetSelectEntry(), RTL_TEXTENCODING_ASCII_US );
-}
-
-/*****************************************************************************/
-ByteString SolSelectVersionDlg::GetVersionMinor()
-/*****************************************************************************/
-{
- //Returns the minor
- ByteString minor = ByteString(maMinorEditBox.GetText(), RTL_TEXTENCODING_ASCII_US );
- //check for correctness (format: "m1234")
- //"m123s8" is unsupported because 'steps' aren't used anymore
- minor.EraseLeadingAndTrailingChars();
- int check = minor.SearchChar("m");
- if (check == 0)
- {
- ByteString check2 = minor.Copy(1,(minor.Len()-1));
- if (check2.IsNumericAscii()) return minor;
- }
- return ByteString("");
-}
-
-/*****************************************************************************/
-IMPL_LINK( SolSelectVersionDlg, DoubleClickHdl, ListBox *, pBox )
-/*****************************************************************************/
-{
- EndDialog( RET_OK );
- return 0;
-}
-
-//
-// class SolAutoarrangeDlg
-//
-
-/*****************************************************************************/
-SolAutoarrangeDlg::SolAutoarrangeDlg( Window *pParent )
-/*****************************************************************************/
- : ModelessDialog( pParent, DtSodResId( DLG_AUTOARRANGE )),
- maGroupBox( this, DtSodResId( DLG_AUTOARRANGE_GROUP )),
- maModuleText( this, DtSodResId( DLG_AUTOARRANGE_TEXT_MODULE )),
- maOverallText( this, DtSodResId( DLG_AUTOARRANGE_TEXT_OVERALL )),
- maModuleBar( this ),
- maOverallBar( this )
-{
- FreeResource();
-/* Mac Porting..... taking address of temporary (warning)
- maModuleBar.SetPosPixel( POS( 8, 28 ));
- maOverallBar.SetPosPixel( POS( 8, 60 ));
- maModuleBar.SetSizePixel( SIZE( 208,12 ));
- maOverallBar.SetSizePixel( SIZE( 208,12 ));
-*/
- maModuleBar.Show();
- maOverallBar.Show();
-
- maModuleText.Show();
- maOverallText.Show();
-}
-
-/**********************************************************************************/
-
-SolFindProjectDlg::SolFindProjectDlg( Window *pParent, ObjWinList* pObjList )
- : ModalDialog( pParent, DtSodResId( DLG_FIND_PROJECT )),
- maCombobox( this, DtSodResId( DLG_FIND_PROJECT_COMBOBOX )),
- maOKButton( this, DtSodResId( DLG_FIND_PROJECT_OK )),
- maCancelButton( this, DtSodResId( DLG_FIND_PROJECT_CANCEL ))
-{
- FreeResource();
- maCombobox.SetDropDownLineCount(15);
-// SolDep* pSolDep = ((MyApp*)GetpApp())->GetSolDep();
-// ObjWinList* pObjList = pSolDep->GetObjectList();
- ULONG n = pObjList->Count();
- //Fill combobox
- for (ULONG i=0; i<n; i++) {
- ByteString prjname = pObjList->GetObject( i )->GetBodyText();
- if (prjname != ByteString("null")) //null_project
- maCombobox.InsertEntry( String(prjname,RTL_TEXTENCODING_UTF8) );
- }
-}
-
-ByteString SolFindProjectDlg::GetProject()
-{
- return ByteString(maCombobox.GetText(),RTL_TEXTENCODING_UTF8);
-}
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/source/soldlg.src b/soldep/source/soldlg.src
deleted file mode 100644
index 0f5035fcee6e..000000000000
--- a/soldep/source/soldlg.src
+++ /dev/null
@@ -1,374 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <dtsodcmp.hrc>
-#include <soldep/soldlg.hrc>
-
-//========================================================================
-// Dialogs
-ModalDialog RID_SD_DIALOG_NEWPROJECT
-{
- OutputSize = TRUE;
- Text = "New Project";
- PosSize = MAP_SYSFONT(18,18,142,142);
- SVLook = TRUE;
- MOVEABLE = TRUE;
- CLOSEABLE = TRUE;
- OKButton BTN_OK
- {
- PosSize = MAP_SYSFONT(5,123,40,14);
- TabStop = TRUE;
- Hide = FALSE;
- DefButton = TRUE;
- };
- CancelButton BTN_CANCEL {
- PosSize = MAP_SYSFONT(50,123,40,14);
- TabStop = TRUE;
- };
- FixedText FT_PRJNAME {
- PosSize = MAP_SYSFONT( 5, 10, 100, 10 );
- Text = "Project Name";
- };
- Edit EDIT_PRJNAME {
- Border = TRUE;
- PosSize = MAP_SYSFONT(5,20,132,10);
- };
- FixedText FT_PRJSHORT {
- PosSize = MAP_SYSFONT( 5, 30, 100, 10 );
- Text = "Project Short Name";
- };
- Edit EDIT_PRJSHORT {
- Border = TRUE;
- PosSize = MAP_SYSFONT(5,40,132,10);
- };
- FixedText FT_PRJDEPS {
- PosSize = MAP_SYSFONT( 5, 50, 100, 10 );
- Text = "Project Depends on";
- };
- Edit EDIT_PRJDEPS {
- Border = TRUE;
- PosSize = MAP_SYSFONT(5,60,132,10);
- };
-};
-
-ModalDialog RID_SD_DIALOG_NEWDIRECTORY
-{
- OutputSize = TRUE;
- Text = "New Directory";
- PosSize = MAP_SYSFONT(18,18,142,142);
- SVLook = TRUE;
- MOVEABLE = TRUE;
- CLOSEABLE = TRUE;
- OKButton BTN_OK
- {
- PosSize = MAP_SYSFONT(5,123,40,14);
- TabStop = TRUE;
- Hide = FALSE;
- DefButton = TRUE;
- };
- CancelButton BTN_CANCEL {
- PosSize = MAP_SYSFONT(50,123,40,14);
- TabStop = TRUE;
- };
- FixedText FT_DIRNAME {
- PosSize = MAP_SYSFONT( 5, 10, 132, 10 );
- Text = "Directory Name ( with projectname )";
- };
- Edit EDIT_DIRNAME {
- Border = TRUE;
- PosSize = MAP_SYSFONT(5,20,132,10);
- };
- FixedText FT_DIRFLAG {
- PosSize = MAP_SYSFONT( 5, 30, 100, 10 );
- Text = "Directory Flag";
- };
- Edit EDIT_DIRFLAG {
- Border = TRUE;
- PosSize = MAP_SYSFONT(5,40,132,10);
- };
- FixedText FT_DIRDEPS {
- PosSize = MAP_SYSFONT( 5, 50, 100, 10 );
- Text = "Directory Depends on";
- };
- Edit EDIT_DIRDEPS {
- Border = TRUE;
- PosSize = MAP_SYSFONT(5,60,132,10);
- };
- FixedText FT_DIRACTION {
- PosSize = MAP_SYSFONT( 5, 70, 100, 10 );
- Text = "What To Do";
- };
- Edit EDIT_DIRACTION {
- Border = TRUE;
- PosSize = MAP_SYSFONT(5,80,132,10);
- };
- FixedText FT_DIRENV {
- PosSize = MAP_SYSFONT( 5, 90, 100, 10 );
- Text = "Which Environments";
- };
- Edit EDIT_DIRENV {
- Border = TRUE;
- PosSize = MAP_SYSFONT(5,100,132,10);
- };
-};
-
-
-ModalDialog RID_SD_DIALOG_HELP
-{
- OutputSize = TRUE;
- Text = "Help";
- PosSize = MAP_SYSFONT(18,18,242,242);
- SVLook = TRUE;
- MOVEABLE = TRUE;
- CLOSEABLE = TRUE;
- OKButton BTN_OK
- {
- PosSize = MAP_SYSFONT(101,223,40,14);
- TabStop = TRUE;
- Hide = FALSE;
- DefButton = TRUE;
- };
- MultiLineEdit EDIT_HELP {
- Border = TRUE;
- PosSize = MAP_SYSFONT(5,5,232,213);
- };
-};
-
-ModalDialog DLG_VERSIONSELECT {
- OutputSize = TRUE;
- Pos = MAP_APPFONT( 92, 40 );
- Size = MAP_APPFONT( 161, 98 );
- Text = "Open workspace";
- Moveable = TRUE;
- Closeable = TRUE;
- ListBox DLG_VERSIONSELECT_LISTBOX {
- Border = TRUE;
- Pos = MAP_APPFONT( 8, 16 );
- Size = MAP_APPFONT( 96, 72 );
- TabStop = TRUE;
- };
- GroupBox DLG_VERSIONSELECT_GROUP {
- Pos = MAP_APPFONT( 4, 4 );
- Size = MAP_APPFONT( 104, 88 );
- Text = "Workspaces";
- };
- OKButton DLG_VERSIONSELECT_OK {
- Pos = MAP_APPFONT( 116, 64 );
- Size = MAP_APPFONT( 40, 12 );
- DefButton = TRUE;
- TabStop = TRUE;
- };
- CancelButton DLG_VERSIONSELECT_CANCEL {
- Pos = MAP_APPFONT( 116, 80 );
- Size = MAP_APPFONT( 40, 12 );
- TabStop = TRUE;
- };
- GroupBox DLG_MINORSELECT_GROUP {
- Pos = MAP_APPFONT( 110, 4 );
- Size = MAP_APPFONT( 47, 30 );
- Text = "Minor";
- };
- Edit DLG_MINORSELECT_EDIT {
- Border = TRUE;
- Pos = MAP_APPFONT( 115, 16 );
- Size = MAP_APPFONT( 36, 12 );
- TabStop = TRUE;
- };
-};
-
-ModelessDialog DLG_AUTOARRANGE {
- OutputSize = TRUE;
- Pos = MAP_APPFONT( 40, 12 );
- Size = MAP_APPFONT( 225, 82 );
- Text = "Autoarrange";
- Moveable = TRUE;
- GroupBox DLG_AUTOARRANGE_GROUP {
- Pos = MAP_APPFONT( 4, 4 );
- Size = MAP_APPFONT( 216, 72 );
- Text = "Progress";
- };
- FixedText DLG_AUTOARRANGE_TEXT_MODULE {
- Pos = MAP_APPFONT( 8, 16 );
- Size = MAP_APPFONT( 208, 10 );
- Text = "";
- };
- FixedText DLG_AUTOARRANGE_TEXT_OVERALL {
- Pos = MAP_APPFONT( 8, 48 );
- Size = MAP_APPFONT( 208, 10 );
- Text = "";
- };
-};
-
-ModalDialog DLG_FIND_PROJECT {
- OutputSize = TRUE;
- Pos = MAP_APPFONT( 40, 12 );
- Size = MAP_APPFONT( 155, 55 );
- Text = "Find Project";
- Moveable = TRUE;
- SVLook = TRUE;
- ComboBox DLG_FIND_PROJECT_COMBOBOX
- {
- Pos = MAP_APPFONT ( 5 , 18 ) ;
- Size = MAP_APPFONT ( 100 , 90 ) ;
- TabStop = TRUE ;
- DropDown = TRUE ;
- VScroll = TRUE ;
- Sort = TRUE ;
- };
- OKButton DLG_FIND_PROJECT_OK {
- Pos = MAP_APPFONT( 110, 10 );
- Size = MAP_APPFONT( 40, 12 );
- DefButton = TRUE;
- TabStop = TRUE;
- };
- CancelButton DLG_FIND_PROJECT_CANCEL {
- Pos = MAP_APPFONT( 110, 26 );
- Size = MAP_APPFONT( 40, 12 );
- TabStop = TRUE;
- };
-};
-
-ToolBox TID_SOLDEP_MAIN
-{
- ButtonType = BUTTON_SYMBOL;
- Align = BOXALIGN_TOP;
- LineCount = 1;
- SVLook = TRUE;
- Border = TRUE;
- Sizeable = TRUE;
- Dockable = TRUE;
- Scroll = TRUE;
- Moveable = TRUE;
- Closeable = TRUE;
- Zoomable = TRUE;
- ItemList =
- {
- ToolBoxItem
- {
- Identifier = TID_SOLDEP_OPEN;
- Type = TOOLBOXITEM_BUTTON;
- Text = "Load";
- HelpId = TID_SOLDEP_OPEN;
- HelpText = "Load";
- Checkable = TRUE;
- ItemBitmap = Bitmap
- {
- File = "sx03190.png";
- };
- };
- ToolBoxItem
- {
- Identifier = TID_SOLDEP_SAVE;
- Type = TOOLBOXITEM_BUTTON;
- Text = "Save";
- HelpId = TID_SOLDEP_SAVE;
- HelpText = "Save";
- Checkable = TRUE;
- ItemBitmap = Bitmap
- {
- File = "sc05505.png";
- };
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR;
- };
- ToolBoxItem
- {
- Identifier = TID_SOLDEP_SELECT_WORKSPACE;
- Type = TOOLBOXITEM_BUTTON;
- Text = "Select Workspace";
- HelpId = TID_SOLDEP_HIDE_INDEPENDEND;
- HelpText = "Select Workspace";
- Checkable = TRUE;
- ItemBitmap = Bitmap
- {
- File = "selectupd_16.png";
- };
- };
- ToolBoxItem
- {
- Identifier = TID_SOLDEP_FIND;
- Type = TOOLBOXITEM_BUTTON;
- Text = "Find Module";
- HelpId = TID_SOLDEP_FIND;
- HelpText = "Find Module";
- Checkable = TRUE;
- ItemBitmap = Bitmap
- {
- File = "sc05961.png";
- };
- };
- ToolBoxItem
- {
- Identifier = TID_SOLDEP_BACK;
- Type = TOOLBOXITEM_BUTTON;
- Text = "Back to Overview";
- HelpId = TID_SOLDEP_BACK;
- HelpText = "Back to Overview";
- Checkable = TRUE;
- ItemBitmap = Bitmap
- {
- File = "arrowup_16.png";
- };
- };
- ToolBoxItem
- {
- Identifier = TID_SOLDEP_HIDE_INDEPENDEND;
- Type = TOOLBOXITEM_BUTTON;
- Text = "Hide Independend Modules";
- HelpId = TID_SOLDEP_HIDE_INDEPENDEND;
- HelpText = "Hide Independend Modules";
- Checkable = TRUE;
- ItemBitmap = Bitmap
- {
- File = "hidedependency_16.png";
- };
- };
- ToolBoxItem
- {
- Identifier = TID_SOLDEP_CREATEMETA;
- Type = TOOLBOXITEM_BUTTON;
- Text = "Create MetaFile";
- Checkable = TRUE;
- };
- };
-};
-
-/*****************************************************************************/
-Bitmap TID_SMALL_PIN_PINED
-/*****************************************************************************/
-{
- File = "ballgreen_7.png";
-};
-
-/*****************************************************************************/
-Bitmap TID_SMALL_PIN_UNPINED
-/*****************************************************************************/
-{
- File = "ballred_7.png";
-};
diff --git a/soldep/source/tbox.cxx b/soldep/source/tbox.cxx
deleted file mode 100644
index 4e49baf32040..000000000000
--- a/soldep/source/tbox.cxx
+++ /dev/null
@@ -1,598 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#define private public
-
-#include <tools/ref.hxx>
-#include <vcl/msgbox.hxx>
-#include <soldep/soldep.hxx>
-#include <soldep/tbox.hxx>
-#include <soldep/soldlg.hrc>
-
-
-
-SoldepToolBox::SoldepToolBox( Window* pParent, const ResId& aId, BOOL bDAble ) :
- ToolBox( pParent, aId ),
- bDockable( bDAble ),
- bCloseMode( FALSE ),
- bBoxIsVisible( TRUE ),
- bPinable( TRUE ),
- aPinedBitmap( DtSodResId( TID_SMALL_PIN_PINED )), // BMP_SMALL_PIN_PINED
- aUnpinedBitmap( DtSodResId( TID_SMALL_PIN_UNPINED )) // BMP_SMALL_PIN_UNPINED
-{
- bPinable = TRUE;
-
- SetAlign( WINDOWALIGN_TOP );
- HideItem(TID_SOLDEP_BACK); //Inital hide this item, activated in project view.
- HideItem(TID_SOLDEP_SAVE); // Hide this item now, not used yet
- HideItem(TID_SOLDEP_OPEN); // Hide this item now, not used yet
-
- //SetMouseDownHdl(LINK(this,SoldepToolBox,MouseDownHdl));
- //SetFloatingLines( nFloatingLines );
- //SetFloatingMode( bFloatingMode );
- BOOL bFloatingMode = FALSE;
- if ( bFloatingMode )
- {
- //Point aPos( sToolBoxInfo.GetToken( 4, ',' ).ToInt64(), sToolBoxInfo.GetToken( 5, ',' ).ToInt64());
- //SetPosPixel( aPos );
- }
-
- if ( bDockable ) InsertSeparator( 0 ); // Freiraum fr Abreiddel schaffen
- // (ein Separator an 1er Pos wird
- // nicht gezeichnet,
- // schafft aber Platz.)
- bBoxIsVisible = FALSE;
-// if ( sToolBoxInfo.GetToken( 3, ',' ) == "Visible" ) {
- for ( USHORT i = 0; i < GetItemCount() && !bBoxIsVisible; i++ )
- {
-// USHORT nItemId = GetItemId( i );
-
- switch ( GetItemType( i ))
- {
- case TOOLBOXITEM_SPACE:
- break;
- case TOOLBOXITEM_SEPARATOR :
- break;
- default:
- bBoxIsVisible = TRUE;
- break;
- }
- }
-// }
-
- if ( bBoxIsVisible ) {
- if (!bDockable)
- Show();
- else
- Hide();
- }
- else
- Hide();
-
- bOldFloatMode = IsFloatingMode();
-}
-
-/*************************************************************************
-|* SoldepToolBox::~SoldepToolBox()
-|************************************************************************/
-
-SoldepToolBox::~SoldepToolBox()
-{
-}
-
-/*************************************************************************
-|* SoldepToolBox::Paint()
-|************************************************************************/
-
-void SoldepToolBox::Paint( const Rectangle& rRect )
-{
- SetOutStyle( TOOLBOX_STYLE_FLAT );
-
- // Wenn wir eine Dockable ToolBox haben, ...
-
- if ( bDockable )
- {
- USHORT nItemId = GetItemId( 0 );
-
- // ... zeichnen wir den wunderbaren Abreiddel ber das erste Item (Seperator)
-
- if ( !IsFloatingMode() && ( mnCurLine == 1 )) {
- BOOL bIsCloseable = (( mnWinStyle & WB_CLOSEABLE ) != 0 );
-
- ShowItem( nItemId );
- Rectangle aRect = GetItemRect( nItemId );
-
- ToolBox::Paint( rRect );
-
- if ( bIsCloseable )
- {
- // Paint small cross button left/top of toolbar
- SetLineColor( Color( COL_WHITE ));
-
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Left()+6, aRect.Top()));
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Left(), aRect.Top()+6));
-
- SetLineColor( Color( COL_GRAY ));
-
- DrawLine( Point( aRect.Left(), aRect.Top()+6), Point( aRect.Left()+6, aRect.Top()+6));
- DrawLine( Point( aRect.Left()+6, aRect.Top()), Point( aRect.Left()+6, aRect.Top()+6));
-
- SetLineColor( Color( COL_BLACK ));
-
- DrawLine( Point( aRect.Left()+2, aRect.Top()+2), Point( aRect.Left()+4, aRect.Top()+4));
- DrawLine( Point( aRect.Left()+2, aRect.Top()+4), Point( aRect.Left()+4, aRect.Top()+2));
- }
- else if ( bPinable )
- {
- if ( GetPin())
- DrawBitmap( Point( aRect.Left(), aRect.Top()), aPinedBitmap );
- else
- DrawBitmap( Point( aRect.Left(), aRect.Top()), aUnpinedBitmap );
- }
-
- SetLineColor( Color( COL_WHITE ));
-
- if ( IsHorizontal())
- {
- if ( bIsCloseable || bPinable ) aRect = Rectangle( Point( aRect.Left(), aRect.Top()+8), Point( aRect.Right(), aRect.Bottom()));
-
- DrawLine( Point(aRect.Left(), aRect.Top()), Point(aRect.Left(), aRect.Bottom()));
- DrawLine( Point(aRect.Left(), aRect.Top()), Point(aRect.Left()+2, aRect.Top()));
-
- SetLineColor( Color( COL_WHITE ));
-
- DrawLine( Point(aRect.Left()+4, aRect.Top()), Point(aRect.Left()+4, aRect.Bottom()));
- DrawLine( Point(aRect.Left()+4, aRect.Top()), Point(aRect.Left()+6, aRect.Top()));
-
- SetLineColor( Color( COL_GRAY ));//GRAY
-
- DrawLine( Point(aRect.Left()+2, aRect.Top()), Point(aRect.Left()+2, aRect.Bottom()));
- DrawLine( Point(aRect.Left(), aRect.Bottom()), Point(aRect.Left()+2, aRect.Bottom()));
-
- SetLineColor( Color( COL_BLACK ));
-
- DrawLine( Point(aRect.Left()+6, aRect.Top()), Point(aRect.Left()+6, aRect.Bottom()));
- DrawLine( Point(aRect.Left()+4, aRect.Bottom()), Point(aRect.Left()+6, aRect.Bottom()));
-
- }
- else
- {
- if ( bIsCloseable || bPinable ) aRect = Rectangle( Point( aRect.Left()+8, aRect.Top()), Point( aRect.Right(), aRect.Bottom()));
-
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Left(), aRect.Top()+2));
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Right(), aRect.Top()));
-
- DrawLine( Point( aRect.Left(), aRect.Top()+4), Point( aRect.Left(), aRect.Top()+6));
- DrawLine( Point( aRect.Left(), aRect.Top()+4), Point( aRect.Right(), aRect.Top()+4));
-
- SetLineColor( Color( COL_GRAY ));
-
- DrawLine( Point( aRect.Left(), aRect.Top()+2), Point( aRect.Right(),aRect.Top()+2));
- DrawLine( Point( aRect.Right(), aRect.Top()), Point( aRect.Right(), aRect.Top()+2));
-
- DrawLine( Point( aRect.Left(), aRect.Top()+6), Point( aRect.Right(),aRect.Top()+6));
- DrawLine( Point( aRect.Right(), aRect.Top()+4), Point( aRect.Right(), aRect.Top()+6));
-
- }
- }
- else
- {
- // Sind wir im FloatingMode, dann wollen wir keinen Abreiddel haben
- // und hiden somit das erste Item.
-
- //Hiden lscht leider das erste Object der nchsten Zeile, daher nicht
- //lschen
- HideItem( nItemId );
- ToolBox::Paint( rRect );
- }
- }
- else
- {
- ToolBox::Paint( rRect );
- }
-}
-
-/*************************************************************************
-|* SoldepToolBox::MouseButtonDown()
-|************************************************************************/
-
-void SoldepToolBox::MouseButtonDown(const MouseEvent& rEvent)
-{
- // Sind wir im DockingMode, ...
-
- if ( !IsFloatingMode() && ((( mnWinStyle & WB_CLOSEABLE ) != 0 ) || bPinable ))
- {
- // ... dann testen wir, ob am Abreiddel der Close-Button gedrckt wurde ...
-
- Rectangle aRect = GetItemRect( GetItemId( 0 ));
- aRect = Rectangle( aRect.TopLeft(), Point( aRect.Left()+6, aRect.Top()+6 ));
- if ( rEvent.IsLeft() && aRect.IsInside( rEvent.GetPosPixel()))
- {
- if ( bPinable ) {
- TogglePin();
- Invalidate();
- }
- else {
- bCloseMode = TRUE;
-
- // ... und zeichnen ggf. den Button gedrckt.
-
- SetLineColor( Color( COL_WHITE ));
-
- DrawLine( Point( aRect.Left(), aRect.Bottom()), Point( aRect.Right(), aRect.Bottom()));
- DrawLine( Point( aRect.Right(), aRect.Bottom()), Point( aRect.Right(), aRect.Top()));
-
- SetLineColor( Color( COL_GRAY ));
-
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Right(), aRect.Top()));
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Left(), aRect.Bottom()));
- }
- }
- else
- {
- ToolBox::MouseButtonDown( rEvent );
- }
- }
- else
- {
- ToolBox::MouseButtonDown( rEvent );
- }
-
- aMouseDownHdl.Call(this);
-}
-
-/*************************************************************************
-|* SoldepToolBox::MouseButtonUp()
-|************************************************************************/
-
-void SoldepToolBox::MouseButtonUp(const MouseEvent& rEvent)
-{
- // Wenn der Close-Button am Abreiddel zuvor gedrckt wurde, ...
-
- if ( bCloseMode )
- {
- bCloseMode = FALSE;
-
- // ... so zeichen wir diesen wieder normal ...
-
- Rectangle aRect = GetItemRect( GetItemId( 0 ));
- aRect = Rectangle( aRect.TopLeft(), Point( aRect.Left()+6, aRect.Top()+6 ));
-
- SetLineColor( Color( COL_WHITE ));
-
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Right(), aRect.Top()));
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Left(), aRect.Bottom()));
-
- SetLineColor( Color( COL_GRAY ));
-
- DrawLine( Point( aRect.Left(), aRect.Bottom()), Point( aRect.Right(), aRect.Bottom()));
- DrawLine( Point( aRect.Right(), aRect.Bottom()), Point( aRect.Right(), aRect.Top()));
-
- if ( rEvent.IsLeft() && aRect.IsInside( rEvent.GetPosPixel()))
- {
- // ... und schlieen die Box durch Aufruf der virtuellen Methode
- // CloseDockingMode().
-
- CloseDockingMode();
- }
- else
- {
- ToolBox::MouseButtonUp( rEvent );
- }
- }
- else
- {
- ToolBox::MouseButtonUp( rEvent );
- }
-}
-
-/*************************************************************************
-|* SoldepToolBox::MouseMove()
-|************************************************************************/
-
-void SoldepToolBox::MouseMove(const MouseEvent& rEvent)
-{
- // Wenn der Close-Button am Abreiddel zuvor gedrckt wurde, ...
-
- if ( bCloseMode )
- {
- Rectangle aRect = GetItemRect( GetItemId( 0 ));
- aRect = Rectangle( aRect.TopLeft(), Point( aRect.Left()+6, aRect.Top()+6 ));
-
- // ... der Mouse-Zeiger jedoch den Close-Button verlt, ...
-
- if ( !aRect.IsInside( rEvent.GetPosPixel()))
- {
- SetLineColor( Color( COL_WHITE ));
-
- // ... zeichnen wir diesen halt wieder normal.
-
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Right(), aRect.Top()));
- DrawLine( Point( aRect.Left(), aRect.Top()), Point( aRect.Left(), aRect.Bottom()));
-
- SetLineColor( Color( COL_GRAY ));
-
- DrawLine( Point( aRect.Left(), aRect.Bottom()), Point( aRect.Right(), aRect.Bottom()));
- DrawLine( Point( aRect.Right(), aRect.Bottom()), Point( aRect.Right(), aRect.Top()));
-
- bCloseMode = FALSE;
- }
- else
- {
- ToolBox::MouseMove( rEvent );
- }
- }
- else
- {
- ToolBox::MouseMove( rEvent );
- }
-}
-
-/*****************************************************************************/
-void SoldepToolBox::ToggleFloatingMode()
-/*****************************************************************************/
-{
- ToolBox::ToggleFloatingMode();
- CallEventListeners( VCLEVENT_USER_TBOX_RESIZE_APP, this);
-}
-
-/*****************************************************************************/
-void SoldepToolBox::EndDocking( const Rectangle& rRect, BOOL bFloatMode )
-/*****************************************************************************/
-{
- ToolBox::EndDocking( rRect, bFloatMode );
- if ( aResizeHdl.IsSet())
- CallEventListeners( VCLEVENT_USER_TBOX_RESIZE_APP, this);
- else
- {
- GetParent()->Resize();
- }
-};
-
-/*****************************************************************************/
-BOOL SoldepToolBox::Close()
-/*****************************************************************************/
-{
- if (!ToolBox::Close()) return FALSE;
-
- return TRUE;
-}
-
-/*****************************************************************************/
-void SoldepToolBox::Move()
-/*****************************************************************************/
-{
-}
-
-/*************************************************************************
-|* SoldepToolBox::CloseDockingMode()
-|*
-|* virtuelle Methode zur Reaktion auf den Close-Button im DockinMode
-|************************************************************************/
-
-void SoldepToolBox::CloseDockingMode()
-{
- Hide();
- bBoxIsVisible = FALSE;
- CallEventListeners( VCLEVENT_USER_TBOX_RESIZE_APP, this);
-}
-
-/*************************************************************************
-|* SoldepToolBox::Command()
-|************************************************************************/
-
-void SoldepToolBox::Command( const CommandEvent& rCEvt)
-{
- if ( rCEvt.GetCommand() == COMMAND_CONTEXTMENU )
- {
- if( !IsFloatingMode() && bDockable
- && ( GetItemRect(GetItemId( 0 )).IsInside(rCEvt.GetMousePosPixel())))
- {
- // Hier das Context-Menue fuer Abreiddel dynamisch erzeugen...
-
- PopupMenu aPopupMenu;
-
- String sText( String::CreateFromAscii( "Floating mode" ));
- aPopupMenu.InsertItem( 5, sText );
- aPopupMenu.InsertSeparator();
-
- sText = String::CreateFromAscii( "Top" );
- aPopupMenu.InsertItem( 1, sText );
- sText = String::CreateFromAscii( "Bottom" );
- aPopupMenu.InsertItem( 2, sText );
- sText = String::CreateFromAscii( "Left" );
- aPopupMenu.InsertItem( 3, sText );
- sText = String::CreateFromAscii( "Right" );
- aPopupMenu.InsertItem( 4, sText );
-
- switch( GetAlign())
- {
- case WINDOWALIGN_TOP : aPopupMenu.EnableItem( 1, FALSE ); break;
- case WINDOWALIGN_BOTTOM : aPopupMenu.EnableItem( 2, FALSE ); break;
- case WINDOWALIGN_LEFT : aPopupMenu.EnableItem( 3, FALSE ); break;
- case WINDOWALIGN_RIGHT : aPopupMenu.EnableItem( 4, FALSE ); break;
- }
-
- if (( mnWinStyle & WB_CLOSEABLE ) != 0 )
- {
- aPopupMenu.InsertSeparator();
- sText = String::CreateFromAscii( "Hide" );
- aPopupMenu.InsertItem( 6, sText );
- }
- else if ( bPinable ) {
- aPopupMenu.InsertSeparator();
- sText = String::CreateFromAscii( "Pin" );
- aPopupMenu.InsertItem( 6, sText );
- aPopupMenu.CheckItem( 6, GetPin());
- }
-
- // ... und rufen.
-
- aPopupMenu.SetSelectHdl ( LINK ( this, SoldepToolBox, MenuSelectHdl ));
- aPopupMenu.Execute( this, rCEvt.GetMousePosPixel());
- }
- else if ( !GetItemId(rCEvt.GetMousePosPixel()))
- {
- CallContextMenu( this, rCEvt.GetMousePosPixel());
- }
- }
- else ToolBox::Command( rCEvt );
-}
-
-/*************************************************************************
-|* SoldepToolBox::GetContextMenu()
-|************************************************************************/
-
-PopupMenu *SoldepToolBox::GetContextMenu()
-{
- InitContextMenu();
- return &aMenu;
-}
-
-/*************************************************************************
-|* SoldepToolBox::InitContextMenu()
-|************************************************************************/
-
-void SoldepToolBox::InitContextMenu()
-{
- USHORT nStart = 0;
- if ( bDockable )
- nStart = 1;
-
- aMenu.Clear();
-
- for ( USHORT i = nStart; i < GetItemCount(); i++ )
- {
- USHORT nItemId = GetItemId( i );
-
- switch ( GetItemType( i ))
- {
- case TOOLBOXITEM_SPACE:
- break;
- case TOOLBOXITEM_SEPARATOR :
- if (!(( i < GetItemCount() - 1 ) && ( GetItemType( i + 1 ) == TOOLBOXITEM_DONTKNOW )))
- aMenu.InsertSeparator();
- break;
- default:
- aMenu.InsertItem( nItemId, GetItemText( nItemId ), GetItemImage( nItemId ));
- if (IsItemChecked( nItemId )) aMenu.CheckItem( nItemId, TRUE );
- if (!IsItemEnabled( nItemId )) aMenu.EnableItem( nItemId, FALSE );
- if (!IsItemVisible( nItemId )) aMenu.HideItem(nItemId);
- break;
- }
- }
-}
-
-/*************************************************************************
-|* SoldepToolBox::CallContextMenu()
-|************************************************************************/
-
-void SoldepToolBox::CallContextMenu( Window *pWin, Point aPos )
-{
- if ( aMenu.IsInExecute())
- return;
-
- InitContextMenu();
-
- // ... und rufen.
-
- aMenu.SetSelectHdl ( LINK ( this, SoldepToolBox, MenuSelectHdl ));
- aMenu.Execute( pWin, aPos );
-}
-
-void SoldepToolBox::SetPosSizePixel( const Point& rNewPos,
- const Size& rNewSize )
-{
-// if(rNewPos != GetPosPixel() || rNewSize != GetSizePixel())
-// {
- ToolBox::SetPosSizePixel(rNewPos,rNewSize);
-// Resize();
-// }
-}
-
-void SoldepToolBox::SetDockingRects( const Rectangle& rOutRect,
- const Rectangle& rInRect )
-{
- if(rOutRect != aOutRect || rInRect != aInRect)
- {
- ToolBox::SetDockingRects(rOutRect,rInRect);
- Invalidate();
-
- aOutRect = rOutRect;
- aInRect = rInRect;
- }
-}
-
-/*****************************************************************************/
-void SoldepToolBox::StartDocking()
-/*****************************************************************************/
-{
- ToolBox::StartDocking();
- CallEventListeners( VCLEVENT_USER_TBOX_RESIZE_APP, this);
-};
-
-BOOL SoldepToolBox::GetPin()
-
-{
- return bPin;
-}
-
-void SoldepToolBox::TogglePin()
-{
- bPin = !bPin;
-}
-
-void SoldepToolBox::SetPin( BOOL bP )
-{
- bPin = bP;
-}
-
-/*************************************************************************
-|* SoldepToolBox::MenuSelectHdl()
-|*
-|* Handler, der beim Execute der Context-Mens gerufen wird
-|************************************************************************/
-
-IMPL_LINK ( SoldepToolBox, MenuSelectHdl, Menu*, pMenu )
-{
- // Wenn die CurItemId <= 6 ist, dann wurde das Abreiddel-Context-Men ausgefhrt ...
- ULONG itemid;
- itemid = pMenu->GetCurItemId();
-
- if ( pMenu == &aMenu )
- {
- // ... Andernfalls wurde das Default-Context-Men ausgefhrt ...
- USHORT nTmpId = mnCurItemId;
- mnCurItemId = pMenu->GetCurItemId();
-
- // ... und der gesetzte Handler (in soldep.cxx) wird gerufen.
- maSelectHdl.Call( this );
- mnCurItemId = nTmpId;
- }
- return 0;
-}
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/soldep/util/perl.mk b/soldep/util/perl.mk
deleted file mode 100644
index 8665ae89f379..000000000000
--- a/soldep/util/perl.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-.IF "$(GUI)"=="WNT"
-SOLARINC+=-I$(BUILD_TOOLS)$/..$/perl$/lib$/core
-PERL_LIB=$(BUILD_TOOLS)$/..$/perl$/lib$/core$/perl58.lib
-.ENDIF
-
-.IF "$(OS)$(CPU)" == "LINUXI"
- .IF "$(OUTPATH)" == "unxubti8" # Hack for Ububtu x86 builds in SO environment
- SOLARINC+=-I$/usr$/lib$/perl$/5.8.8$/CORE
- PERL_LIB= -lcrypt \
- $/usr$/lib$/libperl.a \
- $/usr$/lib$/perl$/5.8.8$/auto/DynaLoader/DynaLoader.a
- .ELSE
- SOLARINC+=-I$(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/i686-linux$/CORE
- PERL_LIB= -lcrypt \
- $(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/i686-linux$/CORE$/libperl.a \
- $(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/i686-linux$/auto/DynaLoader/DynaLoader.a
- .ENDIF
-.ENDIF
-
-.IF "$(OS)$(CPU)" == "SOLARISS"
-SOLARINC+=-I$(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/sun4-solaris$/CORE
-PERL_LIB= -lsocket \
- -lnsl \
- -ldl \
- $(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/sun4-solaris$/CORE$/shared$/libperl.so \
- $(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/sun4-solaris$/CORE$/shared$/DynaLoader.a
-.ENDIF
-
-.IF "$(OS)$(CPU)" == "SOLARISI"
-SOLARINC+=-I$(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/i86pc-solaris$/CORE
-PERL_LIB= -lsocket \
- -lnsl \
- -ldl \
- $(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/i86pc-solaris$/CORE$/shared$/libperl.so \
- $(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/i86pc-solaris$/CORE$/shared$/DynaLoader.a
-.ENDIF
-
-.IF "$(OS)$(CPU)" == "MACOSXI"
-SOLARINC+=-I$(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/darwin-2level$/CORE
-PERL_LIB= \
- $(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/darwin-2level$/CORE$/libperl.a \
- $(BUILD_TOOLS)$/..$/..$/lib$/perl5$/5.8.3$/darwin-2level$/auto/DynaLoader/DynaLoader.a
-.ENDIF
-