Example #1
0
void
JXButton::SetShortcuts
	(
	const JCharacter* list
	)
{
	JXWindow* w = GetWindow();
	w->ClearShortcuts(this);
	w->InstallShortcuts(this, list);

	const JBoolean wasReturnButton = itsIsReturnButtonFlag;
	itsIsReturnButtonFlag = kJFalse;
	if (list != NULL)
		{
		JString shortcuts = list;
		if (shortcuts.Contains("^M") || shortcuts.Contains("^m"))
			{
			itsIsReturnButtonFlag = kJTrue;
			}
		}

	const JSize borderWidth = GetBorderWidth();
	if (!wasReturnButton && itsIsReturnButtonFlag)
		{
		SetBorderWidth(borderWidth+1);
		}
	else if (wasReturnButton && !itsIsReturnButtonFlag && borderWidth > 0)
		{
		SetBorderWidth(borderWidth-1);
		}

	Refresh();
}
THXBaseConvDirector::THXBaseConvDirector
	(
	istream&			input,
	const JFileVersion	vers,
	JXDirector*			supervisor
	)
	:
	JXWindowDirector(supervisor)
{
	BuildWindow();

	JSize fromBase, toBase;
	input >> fromBase >> toBase;
	itsFromBase->SetBase(fromBase);
	itsToBase->SetBase(toBase);

	JString fromValue;
	input >> fromValue;
	itsFromValue->SetText(fromValue);

	JXWindow* window = GetWindow();
	window->ReadGeometry(input);

	JBoolean active;
	input >> active;
	if (active)
		{
		Activate();
		}
}
SVNMainDirector::SVNMainDirector
	(
	JXDirector*			supervisor,
	const JCharacter*	path
	)
	:
	JXWindowDirector(supervisor),
	itsPath(path)
{
	SVNMainDirectorX();

	JPoint desktopLoc;
	JCoordinate w,h;
	if ((SVNGetPrefsManager())->GetWindowSize(kSVNMainDirectorWindSizeID,
											  &desktopLoc, &w, &h))
		{
		JXWindow* window = GetWindow();
		window->Place(desktopLoc.x, desktopLoc.y);
		window->SetSize(w,h);
		}

	if (itsRepoWidget != NULL)
		{
		itsRepoWidget->RefreshContent();
		}
}
JXScrollbarSet*
CBFnListDirector::BuildWindow()
{
// begin JXLayout

	JXWindow* window = new JXWindow(this, 170,250, "");
	assert( window != NULL );

	JXScrollbarSet* scrollbarSet =
		new JXScrollbarSet(window,
					JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 170,220);
	assert( scrollbarSet != NULL );

	JXMenuBar* menuBar =
		new JXMenuBar(window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 170,30);
	assert( menuBar != NULL );

// end JXLayout

	window->SetMinSize(150,150);

	itsActionsMenu = menuBar->AppendTextMenu(kActionsMenuTitleStr);
	itsActionsMenu->SetMenuItems(kActionsMenuStr, "CBFnListDirector");
	ListenTo(itsActionsMenu);

	return scrollbarSet;
}
void
JXMessageDialog::BuildWindow
	(
	const JCharacter* message
	)
{
// begin JXLayout

	JXWindow* window = new JXWindow(this, 330,110, "");
	assert( window != NULL );

	JXTextButton* okButton =
		new JXTextButton(JGetString("okButton::JXMessageDialog::JXLayout"), window,
					JXWidget::kFixedRight, JXWidget::kFixedBottom, 140,80, 60,20);
	assert( okButton != NULL );
	okButton->SetShortcuts(JGetString("okButton::JXMessageDialog::shortcuts::JXLayout"));

	JXStaticText* text =
		new JXStaticText(JGetString("text::JXMessageDialog::JXLayout"), window,
					JXWidget::kHElastic, JXWidget::kVElastic, 60,20, 250,50);
	assert( text != NULL );

	JXImageWidget* icon =
		new JXImageWidget(window,
					JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,20, 40,40);
	assert( icon != NULL );

// end JXLayout

	window->SetTitle("Message");
	SetButtons(okButton, NULL);

	Init(window, text, message, icon, jx_un_message);
}
void
DragWidgetDir::BuildWindow()
{
		// Create the window
	JXWindow* window = new JXWindow(this, 300,200, "Drag Painter Program");
    assert( window != NULL );
    
    // Give the window to the director
    SetWindow(window);
    
    // Set the window sizing
    window->SetMinSize(300,200);
	window->SetMaxSize(800,600);
	
	// Create the scrollbar set
	JXScrollbarSet* scrollbarSet =
		new JXScrollbarSet(window,
			JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 300,200);
	assert( scrollbarSet != NULL );

	// Create the custom widget with the scrollbarset as its enclosure	
	DragWidget* widget = 
		new DragWidget(scrollbarSet, scrollbarSet->GetScrollEnclosure(), 
			JXWidget::kHElastic, JXWidget::kVElastic,
			0, 0, 10, 10);
	assert( widget != NULL );
	
	// Fit the widget within the scrollbarset enclosure
	widget->FitToEnclosure(kJTrue, kJTrue);
}
void
SyGViewManPageDialog::ReadPrefs
	(
	istream& input
	)
{
	JFileVersion vers;
	input >> vers;
	if (vers > kCurrentSetupVersion)
		{
		return;
		}

	JXWindow* window = GetWindow();
	window->ReadGeometry(input);
	window->Deiconify();

	itsFnHistoryMenu->ReadSetup(input);

	if (vers >= 1)
		{
		JBoolean stayOpen;
		input >> stayOpen;
		itsStayOpenCB->SetState(stayOpen);
		}
void
JXDialogDirector::SetButtons
	(
	JXButton* okButton,
	JXButton* cancelButton
	)
{
	assert( !itsModalFlag || okButton != NULL );

	JXWindow* window = GetWindow();
	assert( window != NULL );

	if (itsModalFlag)
		{
		window->HideFromTaskbar();
		}

	itsOKButton = okButton;
	if (itsOKButton != NULL)
		{
		ListenTo(itsOKButton);
		}

	itsCancelButton = cancelButton;
	if (itsCancelButton != NULL)
		{
		ListenTo(itsCancelButton);
		window->InstallShortcuts(itsCancelButton, "^[");
		}
}
void
JXGetStringDialog::BuildWindow
	(
	const JCharacter*	windowTitle,
	const JCharacter*	prompt,
	const JCharacter*	initialValue,
	const JBoolean		password
	)
{
// begin JXLayout

    JXWindow* window = new JXWindow(this, 310,110, "");
    assert( window != NULL );

    JXTextButton* okButton =
        new JXTextButton(JGetString("okButton::JXGetStringDialog::JXLayout"), window,
                    JXWidget::kFixedRight, JXWidget::kFixedBottom, 190,80, 60,20);
    assert( okButton != NULL );
    okButton->SetShortcuts(JGetString("okButton::JXGetStringDialog::shortcuts::JXLayout"));

    JXTextButton* cancelButton =
        new JXTextButton(JGetString("cancelButton::JXGetStringDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedBottom, 60,80, 60,20);
    assert( cancelButton != NULL );
    cancelButton->SetShortcuts(JGetString("cancelButton::JXGetStringDialog::shortcuts::JXLayout"));

    itsInputField =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 20,40, 270,20);
    assert( itsInputField != NULL );

    JXStaticText* promptDisplay =
        new JXStaticText(JGetString("promptDisplay::JXGetStringDialog::JXLayout"), window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 20,20, 270,20);
    assert( promptDisplay != NULL );
    promptDisplay->SetToLabel();

// end JXLayout

	window->SetTitle(windowTitle);
	SetButtons(okButton, cancelButton);

	promptDisplay->SetText(prompt);

	if (password)
		{
		const JRect r = itsInputField->GetFrame();
		delete itsInputField;
		itsInputField =
			new JXPasswordInput(window,
				JXWidget::kHElastic, JXWidget::kFixedTop,
				r.left, r.top, r.width(), r.height());
		assert( itsInputField != NULL );
		}
	else if (!JStringEmpty(initialValue))
		{
		itsInputField->SetText(initialValue);
		}
	itsInputField->SetIsRequired();
}
void
JX2DCursorMarkTableDir::BuildWindow
	(
	J2DPlotWidget* plot
	)
{
// begin JXLayout

    JXWindow* window = new JXWindow(this, 250,200, "");
    assert( window != NULL );

    JXScrollbarSet* scrollbarSet =
        new JXScrollbarSet(window,
                    JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 250,200);
    assert( scrollbarSet != NULL );

// end JXLayout

	window->SetTitle("Cursor Mark Values");
    window->SetMinSize(250,300);
    window->SetCloseAction(JXWindow::kDeactivateDirector);

	itsTable =
		new JX2DCursorMarkTable(plot,
			scrollbarSet, scrollbarSet->GetScrollEnclosure(),
			JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10);
	assert (itsTable != NULL);
	itsTable->FitToEnclosure();
}
void
SimpleTableDir::BuildWindow()
{
	// Create the window
	JXWindow* window = new JXWindow(this, 300,200, "Test SimpleTable Program");
    assert( window != NULL );
    
    // Give the window to the director
    SetWindow(window);
    
    // Set sizing
    window->SetMinSize(300,200);
	window->SetMaxSize(800,600);
	
	// Create the scrollbar set to hold the table
	JXScrollbarSet* scrollbarSet =
		new JXScrollbarSet(window,
			JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 300,200);
	assert( scrollbarSet != NULL );

	// Create our SimpleTable. It must be placed inside the
	// special widget that JXScrollbarSet creates.  We get a
	// pointer to this special widget by calling GetScrollEnclosure().
	SimpleTable* table = 
		new SimpleTable(scrollbarSet, scrollbarSet->GetScrollEnclosure(), 
			JXWidget::kHElastic, JXWidget::kVElastic,
			0, 0, 10, 10);
	assert( table != NULL );
	table->FitToEnclosure();
}
void
SCPlotDirector::BuildWindow()
{
// begin JXLayout

	JXWindow* window = new JXWindow(this, 600,400, "");
	assert( window != NULL );

	JXMenuBar* menuBar =
		new JXMenuBar(window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 600,30);
	assert( menuBar != NULL );

	itsPlot =
		new JX2DPlotWidget(menuBar, window,
					JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 600,370);
	assert( itsPlot != NULL );

// end JXLayout

	window->LockCurrentMinSize();

	ListenTo(itsPlot);
	itsPlot->SetTitle("New plot");
	itsPlot->SetXLabel("Frequency (Hz)");
}
Example #13
0
JXDockWidget::~JXDockWidget()
{
	const JXDockManager::CloseDockMode mode = (JXGetDockManager())->GetCloseDockMode();
	if (itsWindowList != NULL && mode == JXDockManager::kUndockWindows)
		{
		// can't call UndockAll() because that calls UpdateMinSize()

		const JSize count = itsWindowList->GetElementCount();
		for (JIndex i=1; i<=count; i++)
			{
			JXWindow* w = itsWindowList->NthElement(i);
			StopListening(w);
			w->Undock();
			}

		delete itsWindowList;
		}
	else if (itsWindowList != NULL)
		{
		assert( mode == JXDockManager::kCloseWindows );

		const JSize count = itsWindowList->GetElementCount();
		for (JIndex i=1; i<=count; i++)
			{
			JXWindow* w = itsWindowList->NthElement(i);
			StopListening(w);
			w->Close();
			}

		delete itsWindowList;
		}
}
void
ResizeWidgetDialog::BuildWindow
	(
	const JXWidget* widget
	)
{
// begin JXLayout

	JXWindow* window = new JXWindow(this, 160,120, "");
	assert( window != NULL );

	JXTextButton* cancelButton =
		new JXTextButton(JGetString("cancelButton::ResizeWidgetDialog::JXLayout"), window,
					JXWidget::kFixedRight, JXWidget::kFixedTop, 20,90, 50,20);
	assert( cancelButton != NULL );

	JXTextButton* okButton =
		new JXTextButton(JGetString("okButton::ResizeWidgetDialog::JXLayout"), window,
					JXWidget::kFixedRight, JXWidget::kFixedTop, 90,90, 50,20);
	assert( okButton != NULL );
	okButton->SetShortcuts(JGetString("okButton::ResizeWidgetDialog::shortcuts::JXLayout"));

	itsWidth =
		new JXIntegerInput(window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 70,20, 70,20);
	assert( itsWidth != NULL );

	itsHeight =
		new JXIntegerInput(window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 70,50, 70,20);
	assert( itsHeight != NULL );

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

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

// end JXLayout

	window->SetTitle("Change widget size");
	SetButtons(okButton, cancelButton);

	const JRect r = widget->GetBoundsGlobal();

	itsWidth->SetLowerLimit(50);
	itsWidth->SetUpperLimit(2000);
	itsWidth->SetValue(r.width());

	itsHeight->SetLowerLimit(50);
	itsHeight->SetUpperLimit(2000);
	itsHeight->SetValue(r.height());
}
void
SCXferFnDirector::BuildWindow
	(
	SCCircuitDocument* doc
	)
{
	JArray<JCoordinate> heights(2);
	heights.AppendElement(kInitExprHeight);
	heights.AppendElement(kInitExprHeight);

	JArray<JCoordinate> minHeights(2);
	minHeights.AppendElement(kMinExprHeight);
	minHeights.AppendElement(kMinExprHeight);

// begin JXLayout

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

    JXMenuBar* menuBar =
        new JXMenuBar(window,
                    JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 430,30);
    assert( menuBar != NULL );

    itsPartition =
        new JXVertPartition(heights, 0, minHeights, window,
                    JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 500,205);
    assert( itsPartition != NULL );

    itsEvalButton =
        new JXTextButton(JGetString("itsEvalButton::SCXferFnDirector::JXLayout"), window,
                    JXWidget::kFixedRight, JXWidget::kFixedTop, 430,0, 70,30);
    assert( itsEvalButton != NULL );

// end JXLayout

	window->SetTitle("Transfer function");

	const JRect frame = itsPartition->GetFrame();
	window->SetMinSize(150, frame.top + itsPartition->GetMinTotalSize());

	ListenTo(itsEvalButton);

	SCExprEditorSet* exprSet =
		new SCExprEditorSet(doc, menuBar, &itsXferFn,
							itsPartition->GetCompartment(1),
							JXWidget::kHElastic, JXWidget::kVElastic,
							0,0, 100,100);
	assert( exprSet != NULL );
	exprSet->FitToEnclosure();

	exprSet =
		new SCExprEditorSet(doc, itsXferFn, &itsResult,
							itsPartition->GetCompartment(2),
							JXWidget::kHElastic, JXWidget::kVElastic,
							0,0, 100,100);
	assert( exprSet != NULL );
	exprSet->FitToEnclosure();
}
void
JXMacWinPrefsDialog::BuildWindow()
{
// begin JXLayout

    JXWindow* window = new JXWindow(this, 350,200, "");
    assert( window != NULL );
    SetWindow(window);

    JXTextButton* okButton =
        new JXTextButton(JGetString("okButton::JXMacWinPrefsDialog::JXLayout"), window,
                    JXWidget::kFixedRight, JXWidget::kFixedTop, 209,169, 62,22);
    assert( okButton != NULL );
    okButton->SetShortcuts(JGetString("okButton::JXMacWinPrefsDialog::shortcuts::JXLayout"));

    JXTextButton* cancelButton =
        new JXTextButton(JGetString("cancelButton::JXMacWinPrefsDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 80,170, 60,20);
    assert( cancelButton != NULL );

    itsMacStyleCB =
        new JXTextCheckbox(JGetString("itsMacStyleCB::JXMacWinPrefsDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,20, 320,20);
    assert( itsMacStyleCB != NULL );

    itsHomeEndCB =
        new JXTextCheckbox(JGetString("itsHomeEndCB::JXMacWinPrefsDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,70, 320,20);
    assert( itsHomeEndCB != NULL );

    JXStaticText* obj1_JXLayout =
        new JXStaticText(JGetString("obj1_JXLayout::JXMacWinPrefsDialog::JXLayout"), window,
                    JXWidget::kHElastic, JXWidget::kVElastic, 40,40, 300,20);
    assert( obj1_JXLayout != NULL );
    obj1_JXLayout->SetFontSize(10);

    itsScrollCaretCB =
        new JXTextCheckbox(JGetString("itsScrollCaretCB::JXMacWinPrefsDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,100, 320,20);
    assert( itsScrollCaretCB != NULL );

    itsCopyWhenSelectCB =
        new JXTextCheckbox(JGetString("itsCopyWhenSelectCB::JXMacWinPrefsDialog::JXLayout"), window,
                    JXWidget::kFixedLeft, JXWidget::kFixedTop, 20,130, 320,20);
    assert( itsCopyWhenSelectCB != NULL );

// end JXLayout

	window->SetTitle("Macintosh / Windows / X Preferences");
	SetButtons(okButton, cancelButton);

	itsMacStyleCB->SetState(JI2B(JXMenu::GetDisplayStyle() == JXMenu::kMacintoshStyle));
	itsHomeEndCB->SetState(JXTEBase::WillUseWindowsHomeEnd());
	itsScrollCaretCB->SetState(JXTEBase::CaretWillFollowScroll());
	itsCopyWhenSelectCB->SetState(JTextEditor::WillCopyWhenSelect());
}
void
GXPlotFunctionDialog::BuildWindow()
{
// begin JXLayout

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

    itsFunctionString =
        new JXInputField(window,
                         JXWidget::kHElastic, JXWidget::kVElastic, 80,10, 220,20);
    assert( itsFunctionString != NULL );

    JXStaticText* obj1 =
        new JXStaticText("Function:", window,
                         JXWidget::kHElastic, JXWidget::kVElastic, 10,13, 60,20);
    assert( obj1 != NULL );

    itsEditButton =
        new JXTextButton("Edit", window,
                         JXWidget::kHElastic, JXWidget::kVElastic, 310,10, 60,20);
    assert( itsEditButton != NULL );
    itsEditButton->SetShortcuts("#E");

    itsVarMenu =
        new JXTextMenu("Constants", window,
                       JXWidget::kHElastic, JXWidget::kVElastic, 380,10, 110,20);
    assert( itsVarMenu != NULL );

    JXTextButton* okButton =
        new JXTextButton("OK", window,
                         JXWidget::kHElastic, JXWidget::kVElastic, 115,50, 70,20);
    assert( okButton != NULL );
    okButton->SetShortcuts("^M");

    JXTextButton* cancelButton =
        new JXTextButton("Cancel", window,
                         JXWidget::kHElastic, JXWidget::kVElastic, 315,50, 70,20);
    assert( cancelButton != NULL );
    cancelButton->SetShortcuts("^[");

    itsClearButton =
        new JXTextButton("Clear", window,
                         JXWidget::kHElastic, JXWidget::kVElastic, 215,50, 70,20);
    assert( itsClearButton != NULL );

// end JXLayout

    window->SetTitle("Function Window");
    SetButtons(okButton, cancelButton);
    itsVarMenu->SetUpdateAction(JXMenu::kDisableNone);
    ListenTo(itsClearButton);
    ListenTo(itsEditButton);
    ListenTo(itsVarMenu);
}
Example #18
0
void
CBSymbolSRDirector::BuildWindow
	(
	CBSymbolList*	symbolList,
	const JBoolean	focus
	)
{
// begin JXLayout

	JXWindow* window = new JXWindow(this, 400,230, "");
	assert( window != NULL );

	JXScrollbarSet* scrollbarSet =
		new JXScrollbarSet(window,
					JXWidget::kHElastic, JXWidget::kVElastic, 0,30, 400,200);
	assert( scrollbarSet != NULL );

	JXMenuBar* menuBar =
		new JXMenuBar(window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 0,0, 400,30);
	assert( menuBar != NULL );

// end JXLayout

	window->LockCurrentMinSize();

	if (focus)
		{
		window->ShouldFocusWhenShow(kJTrue);
		}

	itsSymbolTable =
		new CBSymbolTable(itsMainSymDir, symbolList,
						  scrollbarSet, scrollbarSet->GetScrollEnclosure(),
						  JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10);
	assert( itsSymbolTable != NULL );
	itsSymbolTable->FitToEnclosure();

	itsActionsMenu = menuBar->AppendTextMenu(kActionsMenuTitleStr);
	itsActionsMenu->SetMenuItems(kActionsMenuStr, "CBSymbolSRDirector");
	itsActionsMenu->SetUpdateAction(JXMenu::kDisableNone);
	ListenTo(itsActionsMenu);

	itsActionsMenu->SetItemImage(kShowCTreeCmd,    jcc_show_c_tree);
	itsActionsMenu->SetItemImage(kShowJavaTreeCmd, jcc_show_java_tree);
	itsActionsMenu->SetItemImage(kShowPHPTreeCmd,  jcc_show_php_tree);

	itsCmdMenu =
		new CBCommandMenu(itsProjDoc, NULL, menuBar,
						  JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10);
	assert( itsCmdMenu != NULL );
	menuBar->AppendMenu(itsCmdMenu);
	ListenTo(itsCmdMenu);
}
Example #19
0
void
JXCheckbox::SetShortcuts
	(
	const JCharacter* list
	)
{
	JXWindow* w = GetWindow();
	w->ClearShortcuts(this);
	w->InstallShortcuts(this, list);
	Refresh();
}
void
CMChooseProcessDialog::BuildWindow()
{
// begin JXLayout

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

	JXScrollbarSet* scrollbarSet =
		new JXScrollbarSet(window,
					JXWidget::kHElastic, JXWidget::kVElastic, 20,50, 350,400);
	assert( scrollbarSet != NULL );

	itsProcessIDInput =
		new JXIntegerInput(window,
					JXWidget::kHElastic, JXWidget::kFixedBottom, 90,470, 80,20);
	assert( itsProcessIDInput != NULL );

	JXStaticText* obj1_JXLayout =
		new JXStaticText(JGetString("obj1_JXLayout::CMChooseProcessDialog::JXLayout"), window,
					JXWidget::kFixedLeft, JXWidget::kFixedBottom, 20,470, 70,20);
	assert( obj1_JXLayout != NULL );
	obj1_JXLayout->SetToLabel();

	JXTextButton* cancelButton =
		new JXTextButton(JGetString("cancelButton::CMChooseProcessDialog::JXLayout"), window,
					JXWidget::kFixedRight, JXWidget::kFixedBottom, 215,470, 60,20);
	assert( cancelButton != NULL );

	JXTextButton* okButton =
		new JXTextButton(JGetString("okButton::CMChooseProcessDialog::JXLayout"), window,
					JXWidget::kFixedRight, JXWidget::kFixedBottom, 310,470, 60,20);
	assert( okButton != NULL );
	okButton->SetShortcuts(JGetString("okButton::CMChooseProcessDialog::shortcuts::JXLayout"));

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

// end JXLayout

	window->SetTitle("Choose process");
	SetButtons(okButton, cancelButton);

	itsText =
		new CMProcessText(this, scrollbarSet, scrollbarSet->GetScrollEnclosure(),
						   JXWidget::kHElastic, JXWidget::kVElastic, 0,0, 10,10);
    assert( itsText != NULL );
    itsText->FitToEnclosure();
	itsText->SetDefaultFont(JGetMonospaceFontName(), kJDefaultMonoFontSize);
}
TestDirector::TestDirector
	(
	JXDirector*		supervisor,
	const JBoolean	isMaster,
	const JBoolean	startIconic,
	const JBoolean	bufferTestWidget,
	const JBoolean	testWidgetIsImage,
	const JBoolean	snoopWindow
	)
	:
	JXWindowDirector(supervisor)
{
	itsIsMasterFlag = isMaster;
	itsPSPrinter    = NULL;
	itsEPSPrinter   = NULL;

	itsCSF = new TestChooseSaveFile;
	assert( itsCSF != NULL );

	BuildWindow(isMaster, bufferTestWidget, testWidgetIsImage);

	JXWindow* window = GetWindow();
	if (snoopWindow)
		{
		itsWindowSnooper = new JBroadcastSnooper(window);
		assert( itsWindowSnooper != NULL );
		}
	else
		{
		itsWindowSnooper = NULL;
		}

	if (isMaster && JFileExists(kWindowGeomFileName))
		{
		ifstream input(kWindowGeomFileName);
		window->ReadGeometry(input);
		}

	if (startIconic)
		{
		window->Iconify();
		}

	// GetDisplay() only works after SetWindow()

	itsPSPrinter = new JXPSPrinter(GetDisplay());
	assert( itsPSPrinter != NULL );
	ListenTo(itsPSPrinter);

	itsEPSPrinter = new JXEPSPrinter(GetDisplay());
	assert( itsEPSPrinter != NULL );
	ListenTo(itsEPSPrinter);
}
void
SyGNewGitRemoteDialog::BuildWindow()
{
// begin JXLayout

	JXWindow* window = jnew JXWindow(this, 310,160, "");
	assert( window != NULL );

	JXTextButton* okButton =
		jnew JXTextButton(JGetString("okButton::SyGNewGitRemoteDialog::JXLayout"), window,
					JXWidget::kFixedRight, JXWidget::kFixedBottom, 190,130, 60,20);
	assert( okButton != NULL );
	okButton->SetShortcuts(JGetString("okButton::SyGNewGitRemoteDialog::shortcuts::JXLayout"));

	JXTextButton* cancelButton =
		jnew JXTextButton(JGetString("cancelButton::SyGNewGitRemoteDialog::JXLayout"), window,
					JXWidget::kFixedLeft, JXWidget::kFixedBottom, 60,130, 60,20);
	assert( cancelButton != NULL );
	cancelButton->SetShortcuts(JGetString("cancelButton::SyGNewGitRemoteDialog::shortcuts::JXLayout"));

	itsRemoteURLInputField =
		jnew JXInputField(window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 20,40, 270,20);
	assert( itsRemoteURLInputField != NULL );

	JXStaticText* remoteLabel =
		jnew JXStaticText(JGetString("remoteLabel::SyGNewGitRemoteDialog::JXLayout"), window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 20,20, 270,20);
	assert( remoteLabel != NULL );
	remoteLabel->SetToLabel();

	itsLocalNameInputField =
		jnew JXInputField(window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 20,90, 270,20);
	assert( itsLocalNameInputField != NULL );

	JXStaticText* localLabel =
		jnew JXStaticText(JGetString("localLabel::SyGNewGitRemoteDialog::JXLayout"), window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 20,70, 270,20);
	assert( localLabel != NULL );
	localLabel->SetToLabel();

// end JXLayout

	window->SetTitle(JGetString("WindowTitle::SyGNewGitRemoteDialog"));
	SetButtons(okButton, cancelButton);

	itsRemoteURLInputField->SetIsRequired();
	itsLocalNameInputField->SetIsRequired();
}
Example #23
0
JXWidget::~JXWidget()
{
	JXWindow* window = GetWindow();
	if (itsWantInputFlag)
		{
		window->UnregisterFocusWidget(this);
		}
	if (IsVisible())
		{
		window->RefreshRect(itsFrameG);
		}

	delete itsDragPainter;
}
void
JXDockDirector::BuildWindow
	(
	const JCharacter*	title,
	const JBoolean		splitHoriz
	)
{
	const JCoordinate kSize = 300;

	JArray<JCoordinate> sizes;
	sizes.AppendElement(kSize);
	sizes.AppendElement(kSize);

	JArray<JCoordinate> minSizes;
	minSizes.AppendElement(JXDockWidget::kDefaultMinSize);
	minSizes.AppendElement(JXDockWidget::kDefaultMinSize);

	const JCoordinate w = 2*kSize + (splitHoriz ? JPartition::kDragRegionSize : 0);
	const JCoordinate h = 2*kSize + (splitHoriz ? 0 : JPartition::kDragRegionSize);

	JXWindow* window = jnew JXWindow(this, w, h, title);
	assert( window != NULL );

	JXImage* icon;
	if ((JXGetDockManager())->CreateIcon(&icon))
		{
		window->SetIcon(icon);
		}

	if (splitHoriz)
		{
		itsHorizPartition =
			jnew JXHorizDockPartition(this, NULL, sizes, 0, minSizes,
									 window, JXWidget::kHElastic, JXWidget::kVElastic,
									 0,0, w,h);
		assert( itsHorizPartition != NULL );
		}
	else
		{
		itsVertPartition =
			jnew JXVertDockPartition(this, NULL, sizes, 0, minSizes,
									window, JXWidget::kHElastic, JXWidget::kVElastic,
									0,0, w,h);
		assert( itsVertPartition != NULL );
		}

	window->SetMinSize(100,100);
	window->SetWMClass("Dock", JXGetDockWindowClass());
}
SMTPDebugDir::SMTPDebugDir
	(
	JXDirector* supervisor
	)
	:
	GMManagedDirector(supervisor)
{
	JSize w = 400;
	JSize h = 300;
	JXWindow* window = new JXWindow(this, w,h, "Debug Window");
    assert( window != NULL );
    SetWindow(window);
    window->SetCloseAction(JXWindow::kDeactivateDirector);

    JXMenuBar* menuBar =
	new JXMenuBar(window, JXWidget::kHElastic, JXWidget::kFixedTop,
					0,0, w,kJXStdMenuBarHeight);
    assert( menuBar != NULL );

	itsFileMenu = menuBar->AppendTextMenu(kFileMenuTitleStr);
	itsFileMenu->SetMenuItems(kFileMenuStr);
	itsFileMenu->SetUpdateAction(JXMenu::kDisableNone);
	ListenTo(itsFileMenu);

	GMDirectorMenu* menu =
		new GMDirectorMenu(kWindowsMenuTitleStr, menuBar,
			JXWidget::kFixedLeft, JXWidget::kVElastic, 0,0, 10,10);
	assert(menu != NULL);
	menuBar->AppendMenu(menu);

	JXScrollbarSet* scrollbarSet =
		new JXScrollbarSet(window,
			JXWidget::kHElastic, JXWidget::kVElastic,
			0,kJXStdMenuBarHeight,w,h - kJXStdMenuBarHeight);
	assert ( scrollbarSet != NULL );

	itsText =
		new JXStaticText("", kJFalse, kJTrue,
			scrollbarSet, scrollbarSet->GetScrollEnclosure(),
			JXWidget::kHElastic, JXWidget::kVElastic,
			0,0,w,h - kJXStdMenuBarHeight);
	assert (itsText != NULL);

	itsMenuIcon = new JXImage(window->GetDisplay(), window->GetColormap(), JXPM(debug_xpm));
	assert(itsMenuIcon != NULL);
	itsMenuIcon->ConvertToRemoteStorage();

	GGetDirMgr()->DirectorCreated(this);
}
Example #26
0
void
JXTextMenuData::SetNMShortcut
	(
	const JIndex		index,
	const JCharacter*	str
	)
{
	TextItemData itemData = itsTextItemData->GetElement(index);

	const JBoolean strEmpty = JStringEmpty(str);

	JBoolean changed = kJFalse;
	if (!strEmpty && itemData.nmShortcut == NULL)
		{
		itemData.nmShortcut = new JString(str);
		assert( itemData.nmShortcut != NULL );
		itsTextItemData->SetElement(index, itemData);
		changed = kJTrue;
		}
	else if (!strEmpty)
		{
		*(itemData.nmShortcut) = str;
		changed = kJTrue;
		}
	else if (itemData.nmShortcut != NULL)
		{
		delete itemData.nmShortcut;
		itemData.nmShortcut = NULL;
		itsTextItemData->SetElement(index, itemData);
		changed = kJTrue;
		}

	if (changed)
		{
		itsNeedGeomRecalcFlag = kJTrue;

		JXWindow* window = itsMenu->GetWindow();
		window->ClearMenuShortcut(itsMenu, index);

		int key;
		JXKeyModifiers modifiers(itsMenu->GetDisplay());
		if (itemData.nmShortcut != NULL &&
			ParseNMShortcut(itemData.nmShortcut, &key, &modifiers) &&
			!window->InstallMenuShortcut(itsMenu, index, key, modifiers))
			{
			SetNMShortcut(index, NULL);		// don't display if not registered
			}
		}
}
void
CMEditCommandsDialog::ReadPrefs
	(
	istream& input
	)
{
	JFileVersion vers;
	input >> vers;
	if (vers <= kCurrentSetupVersion)
		{
		JXWindow* window = GetWindow();
		window->ReadGeometry(input);
		window->Deiconify();
		}
}
void
CBEditSearchPathsDialog::ReadPrefs
	(
	std::istream& input
	)
{
	JFileVersion vers;
	input >> vers;
	if (vers <= kCurrentSetupVersion)
		{
		JXWindow* window = GetWindow();
		window->ReadGeometry(input);
		window->Deiconify();
		}
}
void
GMMessageFindDialog::BuildWindow()
{

// begin JXLayout

    JXWindow* window = new JXWindow(this, 350,120, "");
    assert( window != NULL );

    itsSearchInput =
        new JXInputField(window,
                    JXWidget::kHElastic, JXWidget::kVElastic, 85,20, 200,20);
    assert( itsSearchInput != NULL );

    JXStaticText* obj1_JXLayout =
        new JXStaticText(JGetString("obj1_JXLayout::GMMessageFindDialog::JXLayout"), window,
                    JXWidget::kHElastic, JXWidget::kVElastic, 25,20, 60,20);
    assert( obj1_JXLayout != NULL );
    obj1_JXLayout->SetToLabel();

    itsMessageBodyCB =
        new JXTextCheckbox(JGetString("itsMessageBodyCB::GMMessageFindDialog::JXLayout"), window,
                    JXWidget::kHElastic, JXWidget::kVElastic, 85,50, 200,20);
    assert( itsMessageBodyCB != NULL );
    itsMessageBodyCB->SetShortcuts(JGetString("itsMessageBodyCB::GMMessageFindDialog::shortcuts::JXLayout"));

    JXTextButton* cancelButton =
        new JXTextButton(JGetString("cancelButton::GMMessageFindDialog::JXLayout"), window,
                    JXWidget::kHElastic, JXWidget::kVElastic, 30,90, 70,20);
    assert( cancelButton != NULL );
    cancelButton->SetShortcuts(JGetString("cancelButton::GMMessageFindDialog::shortcuts::JXLayout"));

    itsHelpButton =
        new JXTextButton(JGetString("itsHelpButton::GMMessageFindDialog::JXLayout"), window,
                    JXWidget::kHElastic, JXWidget::kVElastic, 140,90, 70,20);
    assert( itsHelpButton != NULL );

    JXTextButton* searchButton =
        new JXTextButton(JGetString("searchButton::GMMessageFindDialog::JXLayout"), window,
                    JXWidget::kHElastic, JXWidget::kVElastic, 250,90, 70,20);
    assert( searchButton != NULL );
    searchButton->SetShortcuts(JGetString("searchButton::GMMessageFindDialog::shortcuts::JXLayout"));

// end JXLayout

	window->SetTitle("Find message");
	SetButtons(searchButton, cancelButton);
}
void
SVNGetRepoDialog::BuildWindow
	(
	const JCharacter* windowTitle
	)
{
// begin JXLayout

	JXWindow* window = new JXWindow(this, 310,110, "");
	assert( window != NULL );

	JXTextButton* okButton =
		new JXTextButton(JGetString("okButton::SVNGetRepoDialog::JXLayout"), window,
					JXWidget::kFixedRight, JXWidget::kFixedBottom, 190,80, 60,20);
	assert( okButton != NULL );
	okButton->SetShortcuts(JGetString("okButton::SVNGetRepoDialog::shortcuts::JXLayout"));

	JXTextButton* cancelButton =
		new JXTextButton(JGetString("cancelButton::SVNGetRepoDialog::JXLayout"), window,
					JXWidget::kFixedLeft, JXWidget::kFixedBottom, 60,80, 60,20);
	assert( cancelButton != NULL );
	cancelButton->SetShortcuts(JGetString("cancelButton::SVNGetRepoDialog::shortcuts::JXLayout"));

	itsRepoInput =
		new JXInputField(window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 20,40, 240,20);
	assert( itsRepoInput != NULL );

	itsRepoHistoryMenu =
		new JXStringHistoryMenu(kHistoryLength, "", window,
					JXWidget::kFixedRight, JXWidget::kFixedTop, 260,40, 30,20);
	assert( itsRepoHistoryMenu != NULL );

	JXStaticText* obj1_JXLayout =
		new JXStaticText(JGetString("obj1_JXLayout::SVNGetRepoDialog::JXLayout"), window,
					JXWidget::kHElastic, JXWidget::kFixedTop, 20,20, 270,20);
	assert( obj1_JXLayout != NULL );
	obj1_JXLayout->SetToLabel();

// end JXLayout

	window->SetTitle(windowTitle);
	window->LockCurrentMinSize();
	SetButtons(okButton, cancelButton);

	itsRepoInput->SetIsRequired();
	ListenTo(itsRepoHistoryMenu);
}