Exemplo n.º 1
0
JXWApp::JXWApp
	(
	int*		argc,
	char*		argv[],
	JBoolean*	displayLicense
	)
	:
	JXApplication(argc, argv, kAppSignature, kJXWDefaultStringData)
{
	*displayLicense = JXWCreateGlobals(this);

	if (!*displayLicense)
		{
		*displayLicense = JI2B(
			(JXWGetPrefsManager())->GetPrevVersionStr() != JXWGetVersionNumberStr());
		}
}
void
JXWMainDialog::BuildWindow
	(
	const JSize		argc,
	char**			argv
	)
{
// begin JXLayout

    JXWindow* window = new JXWindow(this, 500,370, "");
    assert( window != NULL );

    itsCreateButton =
        new JXTextButton(JGetString("itsCreateButton::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 360,340, 60,20);
    assert( itsCreateButton != NULL );
    itsCreateButton->SetShortcuts(JGetString("itsCreateButton::JXWMainDialog::shortcuts::JXLayout"));

    itsQuitButton =
        new JXTextButton(JGetString("itsQuitButton::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 90,340, 60,20);
    assert( itsQuitButton != NULL );

    itsHelpButton =
        new JXTextButton(JGetString("itsHelpButton::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 225,340, 60,20);
    assert( itsHelpButton != NULL );
    itsHelpButton->SetShortcuts(JGetString("itsHelpButton::JXWMainDialog::shortcuts::JXLayout"));

    JXStaticText* obj1_JXLayout =
        new JXStaticText(JGetString("obj1_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,20, 120,20);
    assert( obj1_JXLayout != NULL );
    obj1_JXLayout->SetToLabel();

    JXStaticText* obj2_JXLayout =
        new JXStaticText(JGetString("obj2_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,40, 120,20);
    assert( obj2_JXLayout != NULL );
    obj2_JXLayout->SetToLabel();

    itsProgramName =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,20, 350,20);
    assert( itsProgramName != NULL );

    itsProgramVersion =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,40, 350,20);
    assert( itsProgramVersion != NULL );

    JXStaticText* obj3_JXLayout =
        new JXStaticText(JGetString("obj3_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,70, 120,20);
    assert( obj3_JXLayout != NULL );
    obj3_JXLayout->SetToLabel();

    itsDevName =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,70, 350,20);
    assert( itsDevName != NULL );

    JXStaticText* obj4_JXLayout =
        new JXStaticText(JGetString("obj4_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,90, 120,20);
    assert( obj4_JXLayout != NULL );
    obj4_JXLayout->SetToLabel();

    itsDevEmail =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,90, 350,20);
    assert( itsDevEmail != NULL );

    JXStaticText* obj5_JXLayout =
        new JXStaticText(JGetString("obj5_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,130, 120,20);
    assert( obj5_JXLayout != NULL );
    obj5_JXLayout->SetToLabel();

    JXStaticText* obj6_JXLayout =
        new JXStaticText(JGetString("obj6_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,180, 120,20);
    assert( obj6_JXLayout != NULL );
    obj6_JXLayout->SetToLabel();

    itsNeedsMDICB =
        new JXTextCheckbox(JGetString("itsNeedsMDICB::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,210, 130,20);
    assert( itsNeedsMDICB != NULL );
    itsNeedsMDICB->SetShortcuts(JGetString("itsNeedsMDICB::JXWMainDialog::shortcuts::JXLayout"));

    JXStaticText* obj7_JXLayout =
        new JXStaticText(JGetString("obj7_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,240, 120,20);
    assert( obj7_JXLayout != NULL );
    obj7_JXLayout->SetToLabel();

    itsChooseProjDirButton =
        new JXTextButton(JGetString("itsChooseProjDirButton::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedRight, JXWidget::kFixedTop, 420,240, 60,20);
    assert( itsChooseProjDirButton != NULL );

    JXStaticText* obj8_JXLayout =
        new JXStaticText(JGetString("obj8_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,270, 120,20);
    assert( obj8_JXLayout != NULL );
    obj8_JXLayout->SetToLabel();

    itsChooseTmplDirButton =
        new JXTextButton(JGetString("itsChooseTmplDirButton::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedRight, JXWidget::kFixedTop, 390,270, 60,20);
    assert( itsChooseTmplDirButton != NULL );

    JXStaticText* obj9_JXLayout =
        new JXStaticText(JGetString("obj9_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,160, 120,20);
    assert( obj9_JXLayout != NULL );
    obj9_JXLayout->SetToLabel();

    JXStaticText* obj10_JXLayout =
        new JXStaticText(JGetString("obj10_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,110, 120,20);
    assert( obj10_JXLayout != NULL );
    obj10_JXLayout->SetToLabel();

    itsCompanyName =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,110, 350,20);
    assert( itsCompanyName != NULL );

    itsDevURL =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,130, 350,20);
    assert( itsDevURL != NULL );

    itsBinaryName =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,160, 350,20);
    assert( itsBinaryName != NULL );

    itsSrcPrefix =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,180, 350,20);
    assert( itsSrcPrefix != NULL );

    itsProjectDir =
        new JXPathInput(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,240, 290,20);
    assert( itsProjectDir != NULL );

    itsTemplateDir =
        new JXPathInput(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,270, 260,20);
    assert( itsTemplateDir != NULL );

    itsTmplDirHistory =
        new JXPathHistoryMenu(kHistoryLength, "", window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 450,270, 30,20);
    assert( itsTmplDirHistory != NULL );

    JXStaticText* obj11_JXLayout =
        new JXStaticText(JGetString("obj11_JXLayout::JXWMainDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 10,300, 120,20);
    assert( obj11_JXLayout != NULL );
    obj11_JXLayout->SetToLabel();

    itsOpenCmd =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 130,300, 350,20);
    assert( itsOpenCmd != NULL );

// end JXLayout

	const JCharacter* map[] =
		{
		"vers", JXWGetVersionNumberStr()
		};
	const JString title = JGetString(kWindowTitleID, map, sizeof(map));
	window->SetTitle(title);
	window->ShouldFocusWhenShow(kJTrue);
	window->PlaceAsDialogWindow();
	window->LockCurrentMinSize();

	ListenTo(itsCreateButton);
	ListenTo(itsQuitButton);
	ListenTo(itsHelpButton);
	ListenTo(itsChooseProjDirButton);
	ListenTo(itsChooseTmplDirButton);
	ListenTo(itsTmplDirHistory);

	itsProgramVersion->SetText("1.0.0");
	itsDevURL->SetText(kDefaultURLText);
	itsNeedsMDICB->SetState(kJTrue);

	itsProjectDir->ShouldAllowInvalidPath();
	itsProjectDir->ShouldRequireWritable();
	itsProjectDir->SetText(kDefaultProjDir);

	itsTemplateDir->ShouldAllowInvalidPath();
	itsTemplateDir->SetText(kDefaultTemplateDir);

	itsOpenCmd->SetText(kDefaultOpenCmd);

	JPrefObject::ReadPrefs();

	// after read prefs to overwrite itsProjectDir

	if (argc == 3)
		{
		itsProjectDir->SetText(argv[1]);
		itsProgramName->SetText(argv[2]);
		itsBinaryName->SetText(argv[2]);
		}
}