#!/usr/bin/perl -w

#Start: use TkLibraries
use lib "D:/Programs/Perl/lib";
use lib "D:/Programs/Perl/TkPlot";
#End: use TkLibraries

use strict;
#use warnings;

use utf8;
use Jcode;
#use Jcode::Unicode;
#use Jcode::Unicode::NoXS;
#use encoding 'ja_JP.SJIS';
#use encoding 'utf8';
#binmode(STDERR,'encoding(ja_JP.SJIS)');

use TkPlotApp;
use TkPlotDoc;
use clib::TkTFT;
use Sci::GeneralFileFormat;

#===============================================
# Applicationクラス作製
#===============================================
my $App = new TkPlotApp;
exit if($App->Initialize() < 0);

my $pModule = new TkTFT;
$pModule->SetApplication($App);
$App->{DataArray} = $pModule;

my $BaseDir     = "D:\\Programs\\Perl\\TkPlot";
$BaseDir        = "$ENV{HOME}/bin" if($App->OS() eq 'linux');
my $Program     = $App->Program();
my $ProgramPath = $App->SpeculateProgramPath($0, $BaseDir);

#最後の引数を1にすると、IniFileが存在しないと強制終了する
my $IniFile     = $App->OpenIniFile($ProgramPath, 1);
#$App->ConfigureIniFileVariables();

my $IniFilePath = $App->IniFile()->IniFile();
my $MyDir       = $IniFile->MyDir();

my $pParams =  {
		ReadPrev          => 1,
		NoAutoLoadModules => 1,
	};

$App->SetAppName($Program);
$App->SetVersion("Ver 0.1");
$App->SetTitle("TkPlot 2005/pl");

#==========================================
# コマンドラインオプション読み込み
#==========================================
exit 1 if($App->ReadArgs(0) != 1);
my %Args = $App->Args()->GetArgHash();
Utils::MergeHash($pParams, \%Args);

#===============================================
# 実行
#===============================================
$pModule->ConnectDocument(TkPlotDoc->new());
$pModule->CreateWindow(TkPlotWindow->new());
$pModule->MainLoop();

exit;
