Printers: PDF uses layout.
* Fix Advanced settings dialog. * Fix Fonts dialog. * Improve Page Setup. * Partialy fix #4178.
This commit is contained in:
@@ -34,12 +34,14 @@ THE SOFTWARE.
|
||||
#include <Box.h>
|
||||
#include <Button.h>
|
||||
#include <FindDirectory.h>
|
||||
#include <LayoutBuilder.h>
|
||||
#include <MenuField.h>
|
||||
#include <Message.h>
|
||||
#include <Messenger.h>
|
||||
#include <Path.h>
|
||||
#include <PopUpMenu.h>
|
||||
#include <Screen.h>
|
||||
#include <SeparatorView.h>
|
||||
#include <TextControl.h>
|
||||
|
||||
|
||||
@@ -54,7 +56,7 @@ static BMessage* BorderWidthMessage(uint32 what, float width)
|
||||
AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings)
|
||||
: HWindow(BRect(0, 0, 450, 180), "Advanced Settings", B_TITLED_WINDOW_LOOK,
|
||||
B_MODAL_APP_WINDOW_FEEL, B_NOT_RESIZABLE | B_NOT_MINIMIZABLE |
|
||||
B_NOT_ZOOMABLE | B_CLOSE_ON_ESCAPE),
|
||||
B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS | B_CLOSE_ON_ESCAPE),
|
||||
fSettings(settings)
|
||||
{
|
||||
AddShortcut('W', B_COMMAND_KEY, new BMessage(B_QUIT_REQUESTED));
|
||||
@@ -84,19 +86,9 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings)
|
||||
if (settings->FindInt32("close_option", (int32*)&fCloseOption) != B_OK)
|
||||
fCloseOption = kNever;
|
||||
|
||||
BRect bounds(Bounds());
|
||||
BBox *panel = new BBox(bounds, "background", B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP, B_PLAIN_BORDER);
|
||||
AddChild(panel);
|
||||
|
||||
bounds.InsetBy(10.0, 10.0);
|
||||
float divider = be_plain_font->StringWidth("Close status window when done: ");
|
||||
fLicenseKey = new BTextControl(bounds, "pdflib_license_key",
|
||||
fLicenseKey = new BTextControl("pdflib_license_key",
|
||||
"PDFlib License Key: ", "", NULL);
|
||||
panel->AddChild(fLicenseKey);
|
||||
fLicenseKey->SetEnabled(false);
|
||||
fLicenseKey->ResizeToPreferred();
|
||||
fLicenseKey->SetDivider(divider);
|
||||
fLicenseKey->TextView()->HideTyping(true);
|
||||
fLicenseKey->TextView()->SetText(licenseKey.String());
|
||||
|
||||
@@ -106,49 +98,52 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings)
|
||||
// border link
|
||||
|
||||
// bounds.OffsetBy(0.0, fLicenseKey->Bounds().Height() + 10.0);
|
||||
BPopUpMenu* m = new BPopUpMenu("Link Border");
|
||||
m->SetRadioMode(true);
|
||||
BPopUpMenu* menuLinkBorder = new BPopUpMenu("Link Border");
|
||||
menuLinkBorder->SetRadioMode(true);
|
||||
|
||||
BMenuField *mf = new BMenuField(bounds, "link_border_width_menu",
|
||||
"Link Border: ", m);
|
||||
panel->AddChild(mf);
|
||||
mf->ResizeToPreferred();
|
||||
mf->SetDivider(divider);
|
||||
mf->Menu()->SetLabelFromMarked(true);
|
||||
BMenuField* menuFieldLinkBorder = new BMenuField("link_border_width_menu",
|
||||
"Link Border: ", menuLinkBorder);
|
||||
menuFieldLinkBorder->Menu()->SetLabelFromMarked(true);
|
||||
|
||||
BMenuItem* item;
|
||||
m->AddItem(item = new BMenuItem("None", new BMessage(CREATE_LINKS_MSG)));
|
||||
item->SetMarked(!fCreateLinks);
|
||||
m->AddSeparatorItem();
|
||||
menuLinkBorder->AddItem(item = new BMenuItem("None",
|
||||
new BMessage(CREATE_LINKS_MSG)));
|
||||
|
||||
item->SetMarked(!fCreateLinks);
|
||||
menuLinkBorder->AddSeparatorItem();
|
||||
|
||||
menuLinkBorder->AddItem(item = new BMenuItem("No Border",
|
||||
BorderWidthMessage(LINK_BORDER_MSG, 0.0)));
|
||||
|
||||
m->AddItem(item = new BMenuItem("No Border", BorderWidthMessage(LINK_BORDER_MSG, 0.0)));
|
||||
if (fCreateLinks && fLinkBorderWidth == 0)
|
||||
item->SetMarked(true);
|
||||
|
||||
m->AddItem(item = new BMenuItem("Normal Border", BorderWidthMessage(LINK_BORDER_MSG, 1.0)));
|
||||
menuLinkBorder->AddItem(item = new BMenuItem("Normal Border",
|
||||
BorderWidthMessage(LINK_BORDER_MSG, 1.0)));
|
||||
|
||||
if (fCreateLinks && fLinkBorderWidth == 1)
|
||||
item->SetMarked(true);
|
||||
|
||||
m->AddItem(item = new BMenuItem("Bold Border", BorderWidthMessage(LINK_BORDER_MSG, 2.0)));
|
||||
menuLinkBorder->AddItem(item = new BMenuItem("Bold Border",
|
||||
BorderWidthMessage(LINK_BORDER_MSG, 2.0)));
|
||||
|
||||
if (fCreateLinks && fLinkBorderWidth == 2)
|
||||
item->SetMarked(true);
|
||||
|
||||
|
||||
// bookmarks
|
||||
|
||||
m = new BPopUpMenu("Bookmark Definition File");
|
||||
m->SetRadioMode(true);
|
||||
BPopUpMenu* menuBookmark = new BPopUpMenu("Bookmark Definition File");
|
||||
menuBookmark->SetRadioMode(true);
|
||||
|
||||
bounds.OffsetBy(0.0, mf->Bounds().Height() + 10.0);
|
||||
mf = new BMenuField(bounds, "definition_menu", "Bookmark Definition File: ", m);
|
||||
panel->AddChild(mf);
|
||||
mf->ResizeToPreferred();
|
||||
mf->SetDivider(divider);
|
||||
mf->Menu()->SetLabelFromMarked(true);
|
||||
BMenuField* menuFieldBookmark = new BMenuField("definition_menu",
|
||||
"Bookmark Definition File: ", menuBookmark);
|
||||
menuFieldBookmark->Menu()->SetLabelFromMarked(true);
|
||||
|
||||
m->AddItem(item = new BMenuItem("None", new BMessage(CREATE_BOOKMARKS_MSG)));
|
||||
menuBookmark->AddItem(item = new BMenuItem("None",
|
||||
new BMessage(CREATE_BOOKMARKS_MSG)));
|
||||
item->SetMarked(!fCreateBookmarks);
|
||||
m->AddSeparatorItem();
|
||||
menuBookmark->AddSeparatorItem();
|
||||
|
||||
BDirectory bookmarks(_SetupDirectory("bookmarks"));
|
||||
if (bookmarks.InitCheck() == B_OK) {
|
||||
@@ -156,7 +151,7 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings)
|
||||
while (bookmarks.GetNextEntry(&entry) != B_ENTRY_NOT_FOUND) {
|
||||
char name[B_FILE_NAME_LENGTH];
|
||||
if (entry.GetName(name) == B_OK) {
|
||||
m->AddItem(item = new BMenuItem(name, new BMessage(DEFINITION_MSG)));
|
||||
menuBookmark->AddItem(item = new BMenuItem(name, new BMessage(DEFINITION_MSG)));
|
||||
if (fCreateBookmarks && strcmp(name, fBookmarkDefinition.String()) == 0)
|
||||
item->SetMarked(true);
|
||||
}
|
||||
@@ -165,19 +160,17 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings)
|
||||
|
||||
// cross references
|
||||
|
||||
m = new BPopUpMenu("Cross References File");
|
||||
m->SetRadioMode(true);
|
||||
BPopUpMenu* menuCrossReferences = new BPopUpMenu("Cross References File");
|
||||
menuCrossReferences->SetRadioMode(true);
|
||||
|
||||
bounds.OffsetBy(0.0, mf->Bounds().Height() + 10.0);
|
||||
mf = new BMenuField(bounds, "xrefs_menu", "Cross References File: ", m);
|
||||
panel->AddChild(mf);
|
||||
mf->ResizeToPreferred();
|
||||
mf->SetDivider(divider);
|
||||
mf->Menu()->SetLabelFromMarked(true);
|
||||
BMenuField* menuFieldCrossReferences = new BMenuField("xrefs_menu",
|
||||
"Cross References File: ", menuCrossReferences);
|
||||
menuFieldCrossReferences->Menu()->SetLabelFromMarked(true);
|
||||
|
||||
m->AddItem(item = new BMenuItem("None", new BMessage(CREATE_XREFS_MSG)));
|
||||
menuCrossReferences->AddItem(item = new BMenuItem("None",
|
||||
new BMessage(CREATE_XREFS_MSG)));
|
||||
item->SetMarked(!fCreateXRefs);
|
||||
m->AddSeparatorItem();
|
||||
menuCrossReferences->AddSeparatorItem();
|
||||
|
||||
BDirectory xrefs(_SetupDirectory("xrefs"));
|
||||
if (xrefs.InitCheck() == B_OK) {
|
||||
@@ -185,62 +178,62 @@ AdvancedSettingsWindow::AdvancedSettingsWindow(BMessage *settings)
|
||||
while (xrefs.GetNextEntry(&entry) != B_ENTRY_NOT_FOUND) {
|
||||
char name[B_FILE_NAME_LENGTH];
|
||||
if (entry.GetName(name) == B_OK) {
|
||||
m->AddItem (item = new BMenuItem(name, new BMessage(XREFS_MSG)));
|
||||
menuCrossReferences->AddItem(item = new BMenuItem(name,
|
||||
new BMessage(XREFS_MSG)));
|
||||
if (fCreateXRefs && strcmp(name, fXRefs.String()) == 0)
|
||||
item->SetMarked(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m = new BPopUpMenu("Close status window when done");
|
||||
m->SetRadioMode(true);
|
||||
BPopUpMenu* menuStatusWindow =
|
||||
new BPopUpMenu("Close status window when done");
|
||||
menuStatusWindow->SetRadioMode(true);
|
||||
|
||||
bounds.OffsetBy(0.0, mf->Bounds().Height() + 10.0);
|
||||
mf = new BMenuField(bounds, "close_option_menu", "Close status window when done: ", m);
|
||||
panel->AddChild(mf);
|
||||
mf->ResizeToPreferred();
|
||||
mf->SetDivider(divider);
|
||||
mf->Menu()->SetLabelFromMarked(true);
|
||||
BMenuField* menuFieldStatusWindow = new BMenuField("close_option_menu",
|
||||
"Close status window when done: ", menuStatusWindow);
|
||||
menuFieldStatusWindow->Menu()->SetLabelFromMarked(true);
|
||||
|
||||
_AddMenuItem(m, "Never", kNever);
|
||||
_AddMenuItem(m, "No Errors", kNoErrors);
|
||||
_AddMenuItem(m, "No Errors or Warnings", kNoErrorsOrWarnings);
|
||||
_AddMenuItem(m, "No Errors, Warnings or Info", kNoErrorsWarningsOrInfo);
|
||||
_AddMenuItem(m, "Always", kAlways);
|
||||
_AddMenuItem(menuStatusWindow, "Never", kNever);
|
||||
_AddMenuItem(menuStatusWindow, "No Errors", kNoErrors);
|
||||
_AddMenuItem(menuStatusWindow, "No Errors or Warnings",
|
||||
kNoErrorsOrWarnings);
|
||||
_AddMenuItem(menuStatusWindow, "No Errors, Warnings or Info",
|
||||
kNoErrorsWarningsOrInfo);
|
||||
_AddMenuItem(menuStatusWindow, "Always", kAlways);
|
||||
|
||||
bounds = Bounds();
|
||||
bounds.InsetBy(5.0, 0.0);
|
||||
bounds.top = mf->Frame().bottom + 10.0;
|
||||
BBox *line = new BBox(BRect(bounds.left, bounds.top, bounds.right,
|
||||
bounds.top + 1.0), NULL, B_FOLLOW_LEFT_RIGHT);
|
||||
panel->AddChild(line);
|
||||
BButton *cancelButton = new BButton("cancel", "Cancel",
|
||||
new BMessage(CANCEL_MSG));
|
||||
|
||||
bounds.InsetBy(5.0, 0.0);
|
||||
bounds.OffsetBy(0.0, 11.0);
|
||||
BButton *cancel = new BButton(bounds, NULL, "Cancel", new BMessage(CANCEL_MSG));
|
||||
panel->AddChild(cancel);
|
||||
cancel->ResizeToPreferred();
|
||||
BButton *okButton = new BButton("ok", "Ok", new BMessage(OK_MSG));
|
||||
okButton->MakeDefault(true);
|
||||
|
||||
BButton *ok = new BButton(bounds, NULL, "OK", new BMessage(OK_MSG));
|
||||
panel->AddChild(ok, cancel);
|
||||
ok->ResizeToPreferred();
|
||||
|
||||
ResizeTo(divider * 1.3 + 10.0 + ok->Bounds().Width() + cancel->Bounds().Width(),
|
||||
ok->Frame().bottom + 10.0);
|
||||
|
||||
bounds.right = Bounds().right - 10.0;
|
||||
ok->MoveTo(bounds.right - ok->Bounds().Width(), ok->Frame().top);
|
||||
|
||||
bounds = ok->Frame();
|
||||
cancel->MoveTo(bounds.left - cancel->Bounds().Width() - 10.0, bounds.top);
|
||||
|
||||
ok->MakeDefault(true);
|
||||
|
||||
BButton *button = new BButton(bounds, NULL, "Open Settings Folder" B_UTF8_ELLIPSIS,
|
||||
BButton *openButton = new BButton("openSettingsFolder",
|
||||
"Open Settings Folder" B_UTF8_ELLIPSIS,
|
||||
new BMessage(OPEN_SETTINGS_FOLDER_MSG));
|
||||
panel->AddChild(button);
|
||||
button->ResizeToPreferred();
|
||||
button->MoveTo(fLicenseKey->Frame().left, bounds.top);
|
||||
|
||||
BLayoutBuilder::Group<>(this, B_VERTICAL)
|
||||
.SetInsets(B_USE_DEFAULT_SPACING)
|
||||
.AddGrid(B_USE_DEFAULT_SPACING, B_USE_SMALL_SPACING)
|
||||
.Add(fLicenseKey->CreateLabelLayoutItem(), 0, 0)
|
||||
.Add(fLicenseKey->CreateTextViewLayoutItem(), 1, 0)
|
||||
.Add(menuFieldLinkBorder->CreateLabelLayoutItem(), 0, 1)
|
||||
.Add(menuFieldLinkBorder->CreateMenuBarLayoutItem(), 1, 1)
|
||||
.Add(menuFieldBookmark->CreateLabelLayoutItem(), 0, 2)
|
||||
.Add(menuFieldBookmark->CreateMenuBarLayoutItem(), 1, 2)
|
||||
.Add(menuFieldCrossReferences->CreateLabelLayoutItem(), 0, 3)
|
||||
.Add(menuFieldCrossReferences->CreateMenuBarLayoutItem(), 1, 3)
|
||||
.Add(menuFieldStatusWindow->CreateLabelLayoutItem(), 0, 4)
|
||||
.Add(menuFieldStatusWindow->CreateMenuBarLayoutItem(), 1, 4)
|
||||
.End()
|
||||
.Add(new BSeparatorView(B_HORIZONTAL, B_FANCY_BORDER))
|
||||
.AddGroup(B_HORIZONTAL)
|
||||
.Add(openButton)
|
||||
.AddGlue()
|
||||
.Add(cancelButton)
|
||||
.Add(okButton)
|
||||
.End();
|
||||
|
||||
|
||||
BRect winFrame(Frame());
|
||||
BRect screenFrame(BScreen().Frame());
|
||||
|
||||
@@ -30,6 +30,7 @@ THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <InterfaceKit.h>
|
||||
#include <LayoutBuilder.h>
|
||||
#include <SupportKit.h>
|
||||
#include "BlockingWindow.h"
|
||||
#include "FontsWindow.h"
|
||||
@@ -108,93 +109,70 @@ DragListView::InitiateDrag(BPoint point, int32 index, bool wasSelected)
|
||||
FontsWindow::FontsWindow(Fonts *fonts)
|
||||
: HWindow(BRect(0,0,400,220), "Fonts", B_TITLED_WINDOW_LOOK,
|
||||
B_MODAL_APP_WINDOW_FEEL, B_NOT_RESIZABLE | B_NOT_MINIMIZABLE |
|
||||
B_NOT_ZOOMABLE | B_CLOSE_ON_ESCAPE)
|
||||
B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS | B_CLOSE_ON_ESCAPE)
|
||||
{
|
||||
// ---- Ok, build a default page setup user interface
|
||||
BRect r, r1;
|
||||
BView *panel;
|
||||
BButton *button;
|
||||
float x, y, w, h;
|
||||
BString setting_value;
|
||||
BTabView *tabView;
|
||||
BTab *tab;
|
||||
|
||||
AddShortcut('W',B_COMMAND_KEY,new BMessage(B_QUIT_REQUESTED));
|
||||
|
||||
fFonts = fonts;
|
||||
|
||||
r = Bounds();
|
||||
tabView = new BTabView(r, "tab_view");
|
||||
BTabView* tabView = new BTabView("tabview", B_WIDTH_FROM_LABEL);
|
||||
|
||||
// --- Embedding tab ---
|
||||
tab = new BTab();
|
||||
|
||||
// add a *dialog* background
|
||||
BView* embeddingPanel = new BView("Embedding", B_WILL_DRAW
|
||||
| B_FRAME_EVENTS | B_NAVIGABLE_JUMP);
|
||||
embeddingPanel->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
|
||||
r.bottom -= tabView->TabHeight();
|
||||
panel = new BView(r, "embedding_panel", B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP);
|
||||
panel-> SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
|
||||
r1 = r; r1.OffsetTo(0, 0);
|
||||
// add font list
|
||||
#if USE_CLV
|
||||
fList = new BColumnListView(BRect(r.left+5, r.top+5, r.right-5-B_V_SCROLL_BAR_WIDTH, r.bottom-5-B_H_SCROLL_BAR_HEIGHT-30),
|
||||
fList = new BColumnListView(BRect(),
|
||||
"fonts_list", B_FOLLOW_ALL, B_WILL_DRAW | B_NAVIGABLE_JUMP);
|
||||
panel->AddChild(fList);
|
||||
embeddingPanel->AddChild(fList);
|
||||
#else
|
||||
fList = new BListView(BRect(r1.left+5, r1.top+5, r1.right-5-B_V_SCROLL_BAR_WIDTH, r1.bottom-5-B_H_SCROLL_BAR_HEIGHT-30),
|
||||
"fonts_list", B_MULTIPLE_SELECTION_LIST);
|
||||
panel->AddChild(new BScrollView("scroll_list", fList,
|
||||
B_FOLLOW_LEFT | B_FOLLOW_TOP, 0, false, true));
|
||||
fList = new BListView("fonts_list", B_MULTIPLE_SELECTION_LIST);
|
||||
BScrollView* embeddingScrollView = new BScrollView("scroll_list",
|
||||
fList, 0, false, true);
|
||||
fList->SetSelectionMessage(new BMessage(SELECTION_MSG));
|
||||
#endif
|
||||
FillFontList();
|
||||
|
||||
// add a "Embed" button, and make it default
|
||||
button = new BButton(r1, NULL, "Embed", new BMessage(EMBED_MSG),
|
||||
B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
||||
button->ResizeToPreferred();
|
||||
button->GetPreferredSize(&w, &h);
|
||||
x = r1.right - w - 8;
|
||||
y = r1.bottom - h - 8;
|
||||
button->MoveTo(x, y);
|
||||
button->SetEnabled(false);
|
||||
panel->AddChild(button);
|
||||
button->MakeDefault(true);
|
||||
fEmbedButton = button;
|
||||
fEmbedButton = new BButton("embed", "Embed", new BMessage(EMBED_MSG));
|
||||
fEmbedButton->SetEnabled(false);
|
||||
fEmbedButton->MakeDefault(true);
|
||||
|
||||
|
||||
// add a "Substitute" button
|
||||
button = new BButton(r, NULL, "Substitute", new BMessage(SUBST_MSG),
|
||||
B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
||||
button->GetPreferredSize(&w, &h);
|
||||
button->ResizeToPreferred();
|
||||
button->MoveTo(x - w - 8, y);
|
||||
button->SetEnabled(false);
|
||||
panel->AddChild(button);
|
||||
fSubstButton = button;
|
||||
fSubstButton = new BButton("substitute", "Substitute",
|
||||
new BMessage(SUBST_MSG));
|
||||
fSubstButton->SetEnabled(false);
|
||||
embeddingScrollView->SetExplicitMinSize(BSize(200, 200));
|
||||
|
||||
// add a separator line...
|
||||
BBox * line = new BBox(BRect(r1.left, y - 9, r1.right, y - 8), NULL,
|
||||
B_FOLLOW_LEFT_RIGHT | B_FOLLOW_BOTTOM );
|
||||
panel->AddChild(line);
|
||||
BLayoutBuilder::Group<>(embeddingPanel, B_VERTICAL)
|
||||
.SetInsets(B_USE_DEFAULT_SPACING)
|
||||
.Add(embeddingScrollView)
|
||||
.AddGroup(B_HORIZONTAL)
|
||||
.AddGlue()
|
||||
.Add(fEmbedButton)
|
||||
.Add(fSubstButton);
|
||||
|
||||
tabView->AddTab(panel, tab);
|
||||
tab->SetLabel("Embedding");
|
||||
tabView->AddTab(embeddingPanel);
|
||||
|
||||
// --- CJK tab ---
|
||||
tab = new BTab();
|
||||
|
||||
// add a *dialog* background
|
||||
panel = new BView(r, "cjk_panel", B_FOLLOW_ALL,
|
||||
B_WILL_DRAW | B_FRAME_EVENTS | B_NAVIGABLE_JUMP);
|
||||
panel-> SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
BView* cjkPanel = new BView("CJK", B_WILL_DRAW | B_FRAME_EVENTS
|
||||
| B_NAVIGABLE_JUMP);
|
||||
cjkPanel->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
|
||||
BListView* list =
|
||||
new DragListView(BRect(r1.left+5, r1.top+5, r1.right-5-B_V_SCROLL_BAR_WIDTH, r1.bottom-5-B_H_SCROLL_BAR_HEIGHT-30),
|
||||
new DragListView(BRect(),
|
||||
"cjk", B_MULTIPLE_SELECTION_LIST);
|
||||
panel->AddChild(new BScrollView("cjk_scroll_list", list,
|
||||
B_FOLLOW_LEFT | B_FOLLOW_TOP, 0, false, true));
|
||||
BScrollView* cjkScrollView = new BScrollView("cjk_scroll_list",
|
||||
list, 0, false, true);
|
||||
|
||||
font_encoding enc; bool active;
|
||||
for (int i = 0; fFonts->GetCJKOrder(i, enc, active); i++) {
|
||||
@@ -204,63 +182,40 @@ FontsWindow::FontsWindow(Fonts *fonts)
|
||||
fCJKList = list;
|
||||
|
||||
// add a "Embed" button
|
||||
button = new BButton(r, NULL, "Enable", new BMessage(ENABLE_MSG),
|
||||
B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
||||
button->ResizeToPreferred();
|
||||
button->GetPreferredSize(&w, &h);
|
||||
x = r1.right - w - 8;
|
||||
y = r1.bottom - h - 8;
|
||||
button->MoveTo(x, y);
|
||||
button->SetEnabled(false);
|
||||
panel->AddChild(button);
|
||||
fEnableButton = button;
|
||||
fEnableButton = new BButton("enable", "Enable", new BMessage(ENABLE_MSG));
|
||||
fEnableButton->SetEnabled(false);
|
||||
|
||||
// add a "Disable" button
|
||||
button = new BButton(r, NULL, "Disable", new BMessage(DISABLE_MSG),
|
||||
B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
||||
button->GetPreferredSize(&w, &h);
|
||||
button->ResizeToPreferred();
|
||||
x -= w + 8;
|
||||
button->MoveTo(x, y);
|
||||
button->SetEnabled(false);
|
||||
panel->AddChild(button);
|
||||
fDisableButton = button;
|
||||
fDisableButton = new BButton("disable", "Disable",
|
||||
new BMessage(DISABLE_MSG));
|
||||
fDisableButton->SetEnabled(false);
|
||||
|
||||
// add a "Down" button
|
||||
button = new BButton(r, NULL, "Down", new BMessage(DOWN_MSG),
|
||||
B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
||||
button->GetPreferredSize(&w, &h);
|
||||
button->ResizeToPreferred();
|
||||
x -= w + 8;
|
||||
button->MoveTo(x, y);
|
||||
button->SetEnabled(false);
|
||||
panel->AddChild(button);
|
||||
fDownButton = button;
|
||||
fDownButton = new BButton("down", "Down", new BMessage(DOWN_MSG));
|
||||
fDownButton->SetEnabled(false);
|
||||
|
||||
// add a "Up" button
|
||||
button = new BButton(r, NULL, "Up", new BMessage(UP_MSG),
|
||||
B_FOLLOW_RIGHT | B_FOLLOW_BOTTOM);
|
||||
button->GetPreferredSize(&w, &h);
|
||||
button->ResizeToPreferred();
|
||||
x -= w + 8;
|
||||
button->MoveTo(x, y);
|
||||
button->SetEnabled(false);
|
||||
panel->AddChild(button);
|
||||
fUpButton = button;
|
||||
fUpButton = new BButton("up", "Up", new BMessage(UP_MSG));
|
||||
fUpButton->SetEnabled(false);
|
||||
|
||||
// add a separator line...
|
||||
line = new BBox(BRect(r1.left, y - 9, r1.right, y - 8), NULL,
|
||||
B_FOLLOW_LEFT_RIGHT | B_FOLLOW_BOTTOM );
|
||||
panel->AddChild(line);
|
||||
BLayoutBuilder::Group<>(cjkPanel, B_VERTICAL)
|
||||
.SetInsets(B_USE_DEFAULT_SPACING)
|
||||
.Add(cjkScrollView)
|
||||
.AddGroup(B_HORIZONTAL)
|
||||
.AddGlue()
|
||||
.Add(fEnableButton)
|
||||
.Add(fDisableButton)
|
||||
.Add(fDownButton)
|
||||
.Add(fUpButton);
|
||||
|
||||
|
||||
tabView->AddTab(panel, tab);
|
||||
tab->SetLabel("CJK");
|
||||
tabView->AddTab(cjkPanel);
|
||||
|
||||
// add the tabView to the window
|
||||
AddChild(tabView);
|
||||
|
||||
MoveTo(320, 320);
|
||||
BLayoutBuilder::Group<>(this, B_VERTICAL)
|
||||
.SetInsets(B_USE_DEFAULT_SPACING)
|
||||
.Add(tabView);
|
||||
|
||||
MoveTo(320,320);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ class DragListView : public BListView
|
||||
public:
|
||||
DragListView(BRect frame, const char *name,
|
||||
list_view_type type = B_SINGLE_SELECTION_LIST,
|
||||
uint32 resizingMode = B_FOLLOW_LEFT | B_FOLLOW_TOP,
|
||||
uint32 resizingMode = B_FOLLOW_ALL,
|
||||
uint32 flags = B_WILL_DRAW | B_NAVIGABLE | B_FRAME_EVENTS);
|
||||
bool InitiateDrag(BPoint point, int32 index, bool wasSelected);
|
||||
};
|
||||
|
||||
@@ -31,9 +31,9 @@ THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <GridView.h>
|
||||
#include <GroupLayout.h>
|
||||
#include <GroupLayoutBuilder.h>
|
||||
#include <InterfaceKit.h>
|
||||
#include <LayoutBuilder.h>
|
||||
#include <SeparatorView.h>
|
||||
#include <SupportKit.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -122,41 +122,34 @@ JobSetupWindow::JobSetupWindow(BMessage *msg, const char * printerName)
|
||||
fFrom->TextView()->DisallowChar(i);
|
||||
}
|
||||
|
||||
BBox *separator = new BBox("separator");
|
||||
separator->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, 1));
|
||||
|
||||
BButton *documentInfo = new BButton("documentInfo",
|
||||
BButton* documentInfo = new BButton("documentInfo",
|
||||
"Document" B_UTF8_ELLIPSIS,
|
||||
new BMessage(DOC_INFO_MSG));
|
||||
|
||||
BButton *cancel = new BButton("cancel", "Cancel", new BMessage(CANCEL_MSG));
|
||||
BButton* cancel = new BButton("cancel", "Cancel", new BMessage(CANCEL_MSG));
|
||||
|
||||
BButton *ok = new BButton("ok", "OK", new BMessage(OK_MSG));
|
||||
BButton* ok = new BButton("ok", "OK", new BMessage(OK_MSG));
|
||||
ok->MakeDefault(true);
|
||||
|
||||
BGridView* settings = new BGridView();
|
||||
BGridLayout* settingsLayout = settings->GridLayout();
|
||||
settingsLayout->AddItem(fFrom->CreateLabelLayoutItem(), 0, 0);
|
||||
settingsLayout->AddItem(fFrom->CreateTextViewLayoutItem(), 1, 0);
|
||||
settingsLayout->AddItem(fTo->CreateLabelLayoutItem(), 0, 1);
|
||||
settingsLayout->AddItem(fTo->CreateTextViewLayoutItem(), 1, 1);
|
||||
settingsLayout->SetSpacing(0, 0);
|
||||
|
||||
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||
AddChild(BGroupLayoutBuilder(B_VERTICAL, 0)
|
||||
BLayoutBuilder::Group<>(this, B_VERTICAL, B_USE_SMALL_SPACING)
|
||||
.SetInsets(B_USE_DEFAULT_SPACING)
|
||||
.Add(fAll)
|
||||
.Add(fRange)
|
||||
.Add(settings)
|
||||
.AddGrid(B_USE_SMALL_SPACING, B_USE_SMALL_SPACING)
|
||||
.SetInsets(B_USE_SMALL_SPACING, 0, B_USE_SMALL_SPACING, 0)
|
||||
.Add(fFrom->CreateLabelLayoutItem(), 0, 0)
|
||||
.Add(fFrom->CreateTextViewLayoutItem(), 1, 0)
|
||||
.Add(fTo->CreateLabelLayoutItem(), 0, 1)
|
||||
.Add(fTo->CreateTextViewLayoutItem(), 1, 1)
|
||||
.End()
|
||||
.AddGlue()
|
||||
.Add(separator)
|
||||
.AddGroup(B_HORIZONTAL, 10, 1.0f)
|
||||
.Add(new BSeparatorView(B_HORIZONTAL, B_FANCY_BORDER))
|
||||
.AddGroup(B_HORIZONTAL)
|
||||
.Add(documentInfo)
|
||||
.AddGlue()
|
||||
.Add(cancel)
|
||||
.Add(ok)
|
||||
.End()
|
||||
.SetInsets(10, 10, 10, 10)
|
||||
);
|
||||
.End();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -43,14 +43,12 @@ THE SOFTWARE.
|
||||
#include "PrintUtils.h"
|
||||
|
||||
|
||||
#include <Box.h>
|
||||
#include <Button.h>
|
||||
#include <GridView.h>
|
||||
#include <GroupLayout.h>
|
||||
#include <GroupLayoutBuilder.h>
|
||||
#include <LayoutBuilder.h>
|
||||
#include <MenuField.h>
|
||||
#include <Message.h>
|
||||
#include <PopUpMenu.h>
|
||||
#include <SeparatorView.h>
|
||||
#include <Screen.h>
|
||||
#include <TextControl.h>
|
||||
|
||||
@@ -212,9 +210,6 @@ PageSetupWindow::PageSetupWindow(BMessage *msg, const char *printerName)
|
||||
fPDFCompressionSlider->SetHashMarks(B_HASH_MARKS_BOTTOM);
|
||||
fPDFCompressionSlider->SetValue(compression);
|
||||
|
||||
BBox *separator = new BBox("separator");
|
||||
separator->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, 1));
|
||||
|
||||
BButton *cancel = new BButton("cancel", "Cancel", new BMessage(CANCEL_MSG));
|
||||
|
||||
BButton *ok = new BButton("ok", "OK", new BMessage(OK_MSG));
|
||||
@@ -227,39 +222,33 @@ PageSetupWindow::PageSetupWindow(BMessage *msg, const char *printerName)
|
||||
"Advanced" B_UTF8_ELLIPSIS,
|
||||
new BMessage(ADVANCED_MSG));
|
||||
|
||||
BGridView* settings = new BGridView();
|
||||
BGridLayout* settingsLayout = settings->GridLayout();
|
||||
settingsLayout->AddItem(fPageSizeMenu->CreateLabelLayoutItem(), 0, 0);
|
||||
settingsLayout->AddItem(fPageSizeMenu->CreateMenuBarLayoutItem(), 1, 0);
|
||||
settingsLayout->AddItem(fOrientationMenu->CreateLabelLayoutItem(), 0, 1);
|
||||
settingsLayout->AddItem(fOrientationMenu->CreateMenuBarLayoutItem(), 1, 1);
|
||||
settingsLayout->AddItem(fPDFCompatibilityMenu->CreateLabelLayoutItem(), 0, 2);
|
||||
settingsLayout->AddItem(fPDFCompatibilityMenu->CreateMenuBarLayoutItem(), 1, 2);
|
||||
settingsLayout->AddView(fPDFCompressionSlider, 0, 3, 2);
|
||||
settingsLayout->SetSpacing(0, 0);
|
||||
float padding = 10;
|
||||
|
||||
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||
AddChild(BGroupLayoutBuilder(B_VERTICAL, 0)
|
||||
BLayoutBuilder::Group<>(this, B_VERTICAL, padding)
|
||||
.SetInsets(B_USE_DEFAULT_SPACING)
|
||||
.AddGroup(B_HORIZONTAL, 5, 1)
|
||||
.AddGroup(B_VERTICAL, 0, 1.0f)
|
||||
.Add(fMarginView)
|
||||
.AddGlue()
|
||||
.End()
|
||||
.AddGroup(B_VERTICAL, 0, 1.0f)
|
||||
.Add(settings)
|
||||
.AddGlue()
|
||||
.AddGrid(padding, padding / 2)
|
||||
.SetInsets(padding, padding * 2, padding, padding)
|
||||
.Add(fPageSizeMenu->CreateLabelLayoutItem(), 0, 0)
|
||||
.Add(fPageSizeMenu->CreateMenuBarLayoutItem(), 1, 0)
|
||||
.Add(fOrientationMenu->CreateLabelLayoutItem(), 0, 1)
|
||||
.Add(fOrientationMenu->CreateMenuBarLayoutItem(), 1, 1)
|
||||
.Add(fPDFCompatibilityMenu->CreateLabelLayoutItem(), 0, 2)
|
||||
.Add(fPDFCompatibilityMenu->CreateMenuBarLayoutItem(), 1, 2)
|
||||
.Add(fPDFCompressionSlider, 0, 3, 2)
|
||||
.End()
|
||||
.End()
|
||||
.Add(separator)
|
||||
.Add(new BSeparatorView(B_HORIZONTAL, B_FANCY_BORDER))
|
||||
.AddGroup(B_HORIZONTAL, 10, 1.0f)
|
||||
.Add(fontsButton)
|
||||
.Add(advancedButton)
|
||||
.AddGlue()
|
||||
.Add(cancel)
|
||||
.Add(ok)
|
||||
.End()
|
||||
.SetInsets(10, 10, 10, 10)
|
||||
);
|
||||
.End();
|
||||
|
||||
BRect winFrame(Frame());
|
||||
BRect screenFrame(BScreen().Frame());
|
||||
|
||||
Reference in New Issue
Block a user