[haiku-commits] haiku: hrev49157 - src/add-ons/print/drivers/pdf/source

  • From: janus2@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 9 May 2015 17:48:09 +0200 (CEST)

hrev49157 adds 1 changeset to branch 'master'
old head: 684739c6bdd4a5055957cf3773eb048a7fec1d8f
new head: 8f1823774c598d2d4b29d5a2a602b8c1c79096d0
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=8f1823774c59+%5E684739c6bdd4

----------------------------------------------------------------------------

8f1823774c59: Printers: PDF uses layout.

* Fix Advanced settings dialog.
* Fix Fonts dialog.
* Improve Page Setup.
* Partialy fix #4178.

[ Janus <janus2@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision: hrev49157
Commit: 8f1823774c598d2d4b29d5a2a602b8c1c79096d0
URL: http://cgit.haiku-os.org/haiku/commit/?id=8f1823774c59
Author: Janus <janus2@xxxxxxxxx>
Date: Sat May 9 14:47:06 2015 UTC

Ticket: https://dev.haiku-os.org/ticket/4178

----------------------------------------------------------------------------

5 files changed, 176 insertions(+), 246 deletions(-)
.../pdf/source/AdvancedSettingsWindow.cpp | 171 +++++++++----------
.../print/drivers/pdf/source/FontsWindow.cpp | 163 +++++++-----------
.../print/drivers/pdf/source/FontsWindow.h | 2 +-
.../print/drivers/pdf/source/JobSetupWindow.cpp | 41 ++---
.../print/drivers/pdf/source/PageSetupWindow.cpp | 45 ++---

----------------------------------------------------------------------------

diff --git a/src/add-ons/print/drivers/pdf/source/AdvancedSettingsWindow.cpp
b/src/add-ons/print/drivers/pdf/source/AdvancedSettingsWindow.cpp
index ab12247..2bb6033 100644
--- a/src/add-ons/print/drivers/pdf/source/AdvancedSettingsWindow.cpp
+++ b/src/add-ons/print/drivers/pdf/source/AdvancedSettingsWindow.cpp
@@ -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)));
+ menuLinkBorder->AddItem(item = new BMenuItem("None",
+ new BMessage(CREATE_LINKS_MSG)));
+
item->SetMarked(!fCreateLinks);
- m->AddSeparatorItem();
+ 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);
+ BButton *openButton = new BButton("openSettingsFolder",
+ "Open Settings Folder" B_UTF8_ELLIPSIS,
+ new BMessage(OPEN_SETTINGS_FOLDER_MSG));

- ok->MakeDefault(true);
+ 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();

- BButton *button = new BButton(bounds, NULL, "Open Settings Folder"
B_UTF8_ELLIPSIS,
- new BMessage(OPEN_SETTINGS_FOLDER_MSG));
- panel->AddChild(button);
- button->ResizeToPreferred();
- button->MoveTo(fLicenseKey->Frame().left, bounds.top);

BRect winFrame(Frame());
BRect screenFrame(BScreen().Frame());
diff --git a/src/add-ons/print/drivers/pdf/source/FontsWindow.cpp
b/src/add-ons/print/drivers/pdf/source/FontsWindow.cpp
index ff61a0a..8c01762 100644
--- a/src/add-ons/print/drivers/pdf/source/FontsWindow.cpp
+++ b/src/add-ons/print/drivers/pdf/source/FontsWindow.cpp
@@ -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;
-
- // 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);
-
- tabView->AddTab(panel, tab);
- tab->SetLabel("Embedding");
+ fSubstButton = new BButton("substitute", "Substitute",
+ new BMessage(SUBST_MSG));
+ fSubstButton->SetEnabled(false);
+ embeddingScrollView->SetExplicitMinSize(BSize(200, 200));
+
+ BLayoutBuilder::Group<>(embeddingPanel, B_VERTICAL)
+ .SetInsets(B_USE_DEFAULT_SPACING)
+ .Add(embeddingScrollView)
+ .AddGroup(B_HORIZONTAL)
+ .AddGlue()
+ .Add(fEmbedButton)
+ .Add(fSubstButton);
+
+ 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);
}


diff --git a/src/add-ons/print/drivers/pdf/source/FontsWindow.h
b/src/add-ons/print/drivers/pdf/source/FontsWindow.h
index 61fca59..a91544f 100644
--- a/src/add-ons/print/drivers/pdf/source/FontsWindow.h
+++ b/src/add-ons/print/drivers/pdf/source/FontsWindow.h
@@ -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);
};
diff --git a/src/add-ons/print/drivers/pdf/source/JobSetupWindow.cpp
b/src/add-ons/print/drivers/pdf/source/JobSetupWindow.cpp
index a8023b6..2354921 100644
--- a/src/add-ons/print/drivers/pdf/source/JobSetupWindow.cpp
+++ b/src/add-ons/print/drivers/pdf/source/JobSetupWindow.cpp
@@ -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();
}


diff --git a/src/add-ons/print/drivers/pdf/source/PageSetupWindow.cpp
b/src/add-ons/print/drivers/pdf/source/PageSetupWindow.cpp
index d8f0e34..4a8b3f7 100644
--- a/src/add-ons/print/drivers/pdf/source/PageSetupWindow.cpp
+++ b/src/add-ons/print/drivers/pdf/source/PageSetupWindow.cpp
@@ -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);
-
- SetLayout(new BGroupLayout(B_VERTICAL));
- AddChild(BGroupLayoutBuilder(B_VERTICAL, 0)
+ float padding = 10;
+
+ 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());


Other related posts:

  • » [haiku-commits] haiku: hrev49157 - src/add-ons/print/drivers/pdf/source - janus2