14b7da592SKarsten Heimrich /*
2*3e6fa229SStephan Aßmus * Copyright 2008-2009, Haiku, Inc. All rights reserved.
34b7da592SKarsten Heimrich * Distributed under the terms of the MIT License.
44b7da592SKarsten Heimrich *
54b7da592SKarsten Heimrich * Authors:
64b7da592SKarsten Heimrich * Julun, <host.haiku@gmx.de>
74b7da592SKarsten Heimrich */
84b7da592SKarsten Heimrich
94b7da592SKarsten Heimrich #include <JobSetupPanel.h>
104b7da592SKarsten Heimrich
114b7da592SKarsten Heimrich #include <Box.h>
124b7da592SKarsten Heimrich #include <Button.h>
134b7da592SKarsten Heimrich #include <CheckBox.h>
144b7da592SKarsten Heimrich #include <GridLayoutBuilder.h>
154b7da592SKarsten Heimrich #include <GroupLayoutBuilder.h>
164b7da592SKarsten Heimrich #include <GroupView.h>
174b7da592SKarsten Heimrich #include <MenuField.h>
184b7da592SKarsten Heimrich #include <MenuItem.h>
194b7da592SKarsten Heimrich #include <PopUpMenu.h>
204b7da592SKarsten Heimrich #include <Printer.h>
214b7da592SKarsten Heimrich #include <PrinterRoster.h>
224b7da592SKarsten Heimrich #include <RadioButton.h>
234b7da592SKarsten Heimrich #include <StringView.h>
244b7da592SKarsten Heimrich #include <TextControl.h>
254b7da592SKarsten Heimrich
264b7da592SKarsten Heimrich
274b7da592SKarsten Heimrich #include <stdlib.h>
284b7da592SKarsten Heimrich
294b7da592SKarsten Heimrich
304b7da592SKarsten Heimrich namespace BPrivate {
314b7da592SKarsten Heimrich namespace Print {
324b7da592SKarsten Heimrich
334b7da592SKarsten Heimrich
BJobSetupPanel(BPrinter * printer)344b7da592SKarsten Heimrich BJobSetupPanel::BJobSetupPanel(BPrinter* printer)
35*3e6fa229SStephan Aßmus : BPrintPanel("Print document")
364b7da592SKarsten Heimrich , fPrinter(printer)
374b7da592SKarsten Heimrich , fPrinterRoster(NULL)
384b7da592SKarsten Heimrich , fPrintRange(B_ALL_PAGES)
394b7da592SKarsten Heimrich , fJobPanelFlags(B_NO_OPTIONS)
404b7da592SKarsten Heimrich {
414b7da592SKarsten Heimrich _InitObject();
424b7da592SKarsten Heimrich _SetupInterface();
434b7da592SKarsten Heimrich }
444b7da592SKarsten Heimrich
454b7da592SKarsten Heimrich
BJobSetupPanel(BPrinter * printer,uint32 flags)464b7da592SKarsten Heimrich BJobSetupPanel::BJobSetupPanel(BPrinter* printer, uint32 flags)
47*3e6fa229SStephan Aßmus : BPrintPanel("Print document")
484b7da592SKarsten Heimrich , fPrinter(printer)
494b7da592SKarsten Heimrich , fPrinterRoster(NULL)
504b7da592SKarsten Heimrich , fPrintRange(B_ALL_PAGES)
514b7da592SKarsten Heimrich , fJobPanelFlags(flags)
524b7da592SKarsten Heimrich {
534b7da592SKarsten Heimrich _InitObject();
544b7da592SKarsten Heimrich _SetupInterface();
554b7da592SKarsten Heimrich }
564b7da592SKarsten Heimrich
574b7da592SKarsten Heimrich
~BJobSetupPanel()584b7da592SKarsten Heimrich BJobSetupPanel::~BJobSetupPanel()
594b7da592SKarsten Heimrich {
604b7da592SKarsten Heimrich delete fPrinterRoster;
614b7da592SKarsten Heimrich }
624b7da592SKarsten Heimrich
634b7da592SKarsten Heimrich
BJobSetupPanel(BMessage * data)644b7da592SKarsten Heimrich BJobSetupPanel::BJobSetupPanel(BMessage* data)
654b7da592SKarsten Heimrich : BPrintPanel(data)
664b7da592SKarsten Heimrich {
674b7da592SKarsten Heimrich // TODO: implement
684b7da592SKarsten Heimrich }
694b7da592SKarsten Heimrich
704b7da592SKarsten Heimrich
714b7da592SKarsten Heimrich BArchivable*
Instantiate(BMessage * data)724b7da592SKarsten Heimrich BJobSetupPanel::Instantiate(BMessage* data)
734b7da592SKarsten Heimrich {
744b7da592SKarsten Heimrich // TODO: implement
754b7da592SKarsten Heimrich return NULL;
764b7da592SKarsten Heimrich }
774b7da592SKarsten Heimrich
784b7da592SKarsten Heimrich
794b7da592SKarsten Heimrich status_t
Archive(BMessage * data,bool deep) const804b7da592SKarsten Heimrich BJobSetupPanel::Archive(BMessage* data, bool deep) const
814b7da592SKarsten Heimrich {
824b7da592SKarsten Heimrich // TODO: implement
834b7da592SKarsten Heimrich return B_ERROR;
844b7da592SKarsten Heimrich }
854b7da592SKarsten Heimrich
864b7da592SKarsten Heimrich
874b7da592SKarsten Heimrich void
MessageReceived(BMessage * message)884b7da592SKarsten Heimrich BJobSetupPanel::MessageReceived(BMessage* message)
894b7da592SKarsten Heimrich {
904b7da592SKarsten Heimrich
914b7da592SKarsten Heimrich BPrintPanel::MessageReceived(message);
924b7da592SKarsten Heimrich }
934b7da592SKarsten Heimrich
944b7da592SKarsten Heimrich
954b7da592SKarsten Heimrich status_t
Go()964b7da592SKarsten Heimrich BJobSetupPanel::Go()
974b7da592SKarsten Heimrich {
984b7da592SKarsten Heimrich status_t status = ShowPanel();
994b7da592SKarsten Heimrich
1004b7da592SKarsten Heimrich if (status == B_OK) {
1014b7da592SKarsten Heimrich // TODO: check if we did work on an real printer
1024b7da592SKarsten Heimrich // TODO: set all selected values on printer object
1034b7da592SKarsten Heimrich }
1044b7da592SKarsten Heimrich
1054b7da592SKarsten Heimrich if (Lock())
1064b7da592SKarsten Heimrich Quit();
1074b7da592SKarsten Heimrich
1084b7da592SKarsten Heimrich return status;
1094b7da592SKarsten Heimrich }
1104b7da592SKarsten Heimrich
1114b7da592SKarsten Heimrich
1124b7da592SKarsten Heimrich BPrinter*
Printer() const1134b7da592SKarsten Heimrich BJobSetupPanel::Printer() const
1144b7da592SKarsten Heimrich {
1154b7da592SKarsten Heimrich return fPrinter;
1164b7da592SKarsten Heimrich }
1174b7da592SKarsten Heimrich
1184b7da592SKarsten Heimrich
1194b7da592SKarsten Heimrich void
SetPrinter(BPrinter * printer,bool keepSettings)1204b7da592SKarsten Heimrich BJobSetupPanel::SetPrinter(BPrinter* printer, bool keepSettings)
1214b7da592SKarsten Heimrich {
1224b7da592SKarsten Heimrich // TODO: implement
1234b7da592SKarsten Heimrich }
1244b7da592SKarsten Heimrich
1254b7da592SKarsten Heimrich
1264b7da592SKarsten Heimrich print_range
PrintRange() const1274b7da592SKarsten Heimrich BJobSetupPanel::PrintRange() const
1284b7da592SKarsten Heimrich {
1294b7da592SKarsten Heimrich return fPrintRange;
1304b7da592SKarsten Heimrich }
1314b7da592SKarsten Heimrich
1324b7da592SKarsten Heimrich
1334b7da592SKarsten Heimrich void
SetPrintRange(print_range range)1344b7da592SKarsten Heimrich BJobSetupPanel::SetPrintRange(print_range range)
1354b7da592SKarsten Heimrich {
1364b7da592SKarsten Heimrich switch (range) {
1374b7da592SKarsten Heimrich case B_ALL_PAGES: {
1384b7da592SKarsten Heimrich fPrintRange = range;
1394b7da592SKarsten Heimrich fPrintAll->SetValue(B_CONTROL_ON);
1404b7da592SKarsten Heimrich } break;
1414b7da592SKarsten Heimrich
1424b7da592SKarsten Heimrich case B_SELECTION: {
1434b7da592SKarsten Heimrich fPrintRange = range;
1444b7da592SKarsten Heimrich SetOptionFlags(OptionFlags() | B_PRINT_SELECTION);
1454b7da592SKarsten Heimrich fSelection->SetValue(B_CONTROL_ON);
1464b7da592SKarsten Heimrich } break;
1474b7da592SKarsten Heimrich
1484b7da592SKarsten Heimrich case B_PAGE_RANGE: {
1494b7da592SKarsten Heimrich fPrintRange = range;
1504b7da592SKarsten Heimrich SetOptionFlags(OptionFlags() | B_PRINT_PAGE_RANGE);
1514b7da592SKarsten Heimrich fPagesFrom->SetValue(B_CONTROL_ON);
1524b7da592SKarsten Heimrich } break;
1534b7da592SKarsten Heimrich }
1544b7da592SKarsten Heimrich }
1554b7da592SKarsten Heimrich
1564b7da592SKarsten Heimrich
1574b7da592SKarsten Heimrich int32
FirstPage() const1584b7da592SKarsten Heimrich BJobSetupPanel::FirstPage() const
1594b7da592SKarsten Heimrich {
1604b7da592SKarsten Heimrich BString text(fFirstPage->Text());
1614b7da592SKarsten Heimrich if (text.Length() <= 0)
1624b7da592SKarsten Heimrich return 0;
1634b7da592SKarsten Heimrich
1644b7da592SKarsten Heimrich return atoi(text.String());
1654b7da592SKarsten Heimrich }
1664b7da592SKarsten Heimrich
1674b7da592SKarsten Heimrich
1684b7da592SKarsten Heimrich int32
LastPage() const1694b7da592SKarsten Heimrich BJobSetupPanel::LastPage() const
1704b7da592SKarsten Heimrich {
1714b7da592SKarsten Heimrich BString text(fLastPage->Text());
1724b7da592SKarsten Heimrich if (text.Length() <= 0)
1734b7da592SKarsten Heimrich return LONG_MAX;
1744b7da592SKarsten Heimrich
1754b7da592SKarsten Heimrich return atoi(text.String());
1764b7da592SKarsten Heimrich }
1774b7da592SKarsten Heimrich
1784b7da592SKarsten Heimrich
1794b7da592SKarsten Heimrich void
SetPageRange(int32 firstPage,int32 lastPage)1804b7da592SKarsten Heimrich BJobSetupPanel::SetPageRange(int32 firstPage, int32 lastPage)
1814b7da592SKarsten Heimrich {
1824b7da592SKarsten Heimrich BString text;
1834b7da592SKarsten Heimrich SetPrintRange(B_PAGE_RANGE);
1844b7da592SKarsten Heimrich
1854b7da592SKarsten Heimrich text << firstPage;
1864b7da592SKarsten Heimrich fFirstPage->SetText(text.String());
1874b7da592SKarsten Heimrich
1884b7da592SKarsten Heimrich text << lastPage;
1894b7da592SKarsten Heimrich fLastPage->SetText(text.String());
1904b7da592SKarsten Heimrich }
1914b7da592SKarsten Heimrich
1924b7da592SKarsten Heimrich
1934b7da592SKarsten Heimrich uint32
OptionFlags() const1944b7da592SKarsten Heimrich BJobSetupPanel::OptionFlags() const
1954b7da592SKarsten Heimrich {
1964b7da592SKarsten Heimrich return fJobPanelFlags;
1974b7da592SKarsten Heimrich }
1984b7da592SKarsten Heimrich
1994b7da592SKarsten Heimrich
2004b7da592SKarsten Heimrich void
SetOptionFlags(uint32 flags)2014b7da592SKarsten Heimrich BJobSetupPanel::SetOptionFlags(uint32 flags)
2024b7da592SKarsten Heimrich {
2034b7da592SKarsten Heimrich bool value = false;
2044b7da592SKarsten Heimrich if (flags & B_PRINT_TO_FILE)
2054b7da592SKarsten Heimrich value = true;
2064b7da592SKarsten Heimrich fPrintToFile->SetEnabled(value);
2074b7da592SKarsten Heimrich
2084b7da592SKarsten Heimrich value = false;
2094b7da592SKarsten Heimrich if (flags & B_PRINT_PAGE_RANGE)
2104b7da592SKarsten Heimrich value = true;
2114b7da592SKarsten Heimrich fPagesFrom->SetEnabled(value);
2124b7da592SKarsten Heimrich fFirstPage->SetEnabled(value);
2134b7da592SKarsten Heimrich fLastPage->SetEnabled(value);
2144b7da592SKarsten Heimrich
2154b7da592SKarsten Heimrich value = false;
2164b7da592SKarsten Heimrich if (flags & B_PRINT_SELECTION)
2174b7da592SKarsten Heimrich value = true;
2184b7da592SKarsten Heimrich fSelection->SetEnabled(value);
2194b7da592SKarsten Heimrich
2204b7da592SKarsten Heimrich value = false;
2214b7da592SKarsten Heimrich if (flags & B_PRINT_COLLATE_COPIES)
2224b7da592SKarsten Heimrich value = true;
2234b7da592SKarsten Heimrich fCollate->SetEnabled(value);
2244b7da592SKarsten Heimrich
2254b7da592SKarsten Heimrich fJobPanelFlags = flags;
2264b7da592SKarsten Heimrich }
2274b7da592SKarsten Heimrich
2284b7da592SKarsten Heimrich
2294b7da592SKarsten Heimrich void
_InitObject()2304b7da592SKarsten Heimrich BJobSetupPanel::_InitObject()
2314b7da592SKarsten Heimrich {
2324b7da592SKarsten Heimrich fPrinterRoster = new BPrinterRoster();
2334b7da592SKarsten Heimrich fPrinterRoster->StartWatching(this);
2344b7da592SKarsten Heimrich
2354b7da592SKarsten Heimrich if (!fPrinter->IsValid()) {
2364b7da592SKarsten Heimrich BPrinter defaultPrinter;
2374b7da592SKarsten Heimrich fPrinterRoster->GetDefaultPrinter(&defaultPrinter);
2384b7da592SKarsten Heimrich *fPrinter = defaultPrinter;
2394b7da592SKarsten Heimrich }
2404b7da592SKarsten Heimrich }
2414b7da592SKarsten Heimrich
2424b7da592SKarsten Heimrich
2434b7da592SKarsten Heimrich void
_SetupInterface()2444b7da592SKarsten Heimrich BJobSetupPanel::_SetupInterface()
2454b7da592SKarsten Heimrich {
2464b7da592SKarsten Heimrich BGroupView* groupView = new BGroupView(B_VERTICAL, 10.0);
2474b7da592SKarsten Heimrich
2484b7da592SKarsten Heimrich // printers
2494b7da592SKarsten Heimrich fPrinterPopUp = new BPopUpMenu("");
2504b7da592SKarsten Heimrich fPrinterPopUp->SetRadioMode(true);
2514b7da592SKarsten Heimrich fPrinterMenuField = new BMenuField("", fPrinterPopUp);
2524b7da592SKarsten Heimrich fPrinterMenuField->Menu()->SetLabelFromMarked(true);
2534b7da592SKarsten Heimrich
2544b7da592SKarsten Heimrich BPrinter printer;
2554b7da592SKarsten Heimrich while (fPrinterRoster->GetNextPrinter(&printer) == B_OK) {
2564b7da592SKarsten Heimrich BMenuItem* item = new BMenuItem(printer.Name().String(), NULL);
2574b7da592SKarsten Heimrich fPrinterPopUp->AddItem(item);
2584b7da592SKarsten Heimrich if (printer == *fPrinter)
2594b7da592SKarsten Heimrich item->SetMarked(true);
2604b7da592SKarsten Heimrich }
2614b7da592SKarsten Heimrich
2624b7da592SKarsten Heimrich if (fPrinterRoster->CountPrinters() > 0)
2634b7da592SKarsten Heimrich fPrinterPopUp->AddItem(new BSeparatorItem);
2644b7da592SKarsten Heimrich
2654b7da592SKarsten Heimrich BMenuItem* pdf = new BMenuItem("Save as PDF file" , NULL);
2664b7da592SKarsten Heimrich fPrinterPopUp->AddItem(pdf);
2674b7da592SKarsten Heimrich if (fPrinterPopUp->FindMarked() == NULL)
2684b7da592SKarsten Heimrich pdf->SetMarked(true);
2694b7da592SKarsten Heimrich
2704b7da592SKarsten Heimrich fProperties = new BButton("Properties" B_UTF8_ELLIPSIS , new BMessage('prop'));
2714b7da592SKarsten Heimrich fPrinterInfo = new BStringView("label", "");
2724b7da592SKarsten Heimrich fPrinterInfo->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
2734b7da592SKarsten Heimrich BBox* divider = new BBox(B_FANCY_BORDER, NULL);
2744b7da592SKarsten Heimrich divider->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, 1));
2754b7da592SKarsten Heimrich fPrintToFile = new BCheckBox("Print to file");
2764b7da592SKarsten Heimrich
2774b7da592SKarsten Heimrich BView* view = BGroupLayoutBuilder(B_VERTICAL, 5.0)
2784b7da592SKarsten Heimrich .Add(BGroupLayoutBuilder(B_HORIZONTAL, 10.0)
2794b7da592SKarsten Heimrich .Add(fPrinterMenuField->CreateMenuBarLayoutItem())
2804b7da592SKarsten Heimrich .Add(fProperties))
2814b7da592SKarsten Heimrich .Add(BGroupLayoutBuilder(B_HORIZONTAL,5.0)
2824b7da592SKarsten Heimrich .Add(new BStringView("label", "Printer info:"))
2834b7da592SKarsten Heimrich .Add(fPrinterInfo))
2844b7da592SKarsten Heimrich .Add(divider)
2854b7da592SKarsten Heimrich .Add(fPrintToFile)
2864b7da592SKarsten Heimrich .SetInsets(10.0, 5.0, 10.0, 5.0);
2874b7da592SKarsten Heimrich
2884b7da592SKarsten Heimrich BBox *box = new BBox(B_FANCY_BORDER, view);
2894b7da592SKarsten Heimrich box->SetLabel(BGroupLayoutBuilder()
2904b7da592SKarsten Heimrich .Add(new BStringView("", "Printer"))
2914b7da592SKarsten Heimrich .SetInsets(2.0, 0.0, 2.0, 0.0));
2924b7da592SKarsten Heimrich groupView->AddChild(box);
2934b7da592SKarsten Heimrich
2944b7da592SKarsten Heimrich // page range
2954b7da592SKarsten Heimrich fPrintAll = new BRadioButton("Print all", new BMessage('prrg'));
2964b7da592SKarsten Heimrich fPrintAll->SetValue(B_CONTROL_ON);
2974b7da592SKarsten Heimrich fPagesFrom = new BRadioButton("Pages from:", new BMessage('prrg'));
2984b7da592SKarsten Heimrich fFirstPage = new BTextControl("", "", NULL);
2994b7da592SKarsten Heimrich _DisallowChar(fFirstPage->TextView());
3004b7da592SKarsten Heimrich fLastPage = new BTextControl("to:", "", NULL);
3014b7da592SKarsten Heimrich _DisallowChar(fLastPage->TextView());
3024b7da592SKarsten Heimrich fSelection = new BRadioButton("Print selection", new BMessage('prrg'));
3034b7da592SKarsten Heimrich
3044b7da592SKarsten Heimrich fFirstPage->CreateLabelLayoutItem();
3054b7da592SKarsten Heimrich view = BGroupLayoutBuilder(B_VERTICAL, 5.0)
3064b7da592SKarsten Heimrich .Add(fPrintAll)
3074b7da592SKarsten Heimrich .Add(BGroupLayoutBuilder(B_HORIZONTAL, 5.0)
3084b7da592SKarsten Heimrich .Add(fPagesFrom)
3094b7da592SKarsten Heimrich .Add(fFirstPage->CreateTextViewLayoutItem())
3104b7da592SKarsten Heimrich .Add(fLastPage->CreateLabelLayoutItem())
3114b7da592SKarsten Heimrich .Add(fLastPage->CreateTextViewLayoutItem()))
3124b7da592SKarsten Heimrich .Add(fSelection)
3134b7da592SKarsten Heimrich .SetInsets(10.0, 5.0, 10.0, 5.0);
3144b7da592SKarsten Heimrich
3154b7da592SKarsten Heimrich box = new BBox(B_FANCY_BORDER, view);
3164b7da592SKarsten Heimrich box->SetLabel(BGroupLayoutBuilder()
317*3e6fa229SStephan Aßmus .Add(new BStringView("", "Page range"))
3184b7da592SKarsten Heimrich .SetInsets(2.0, 0.0, 2.0, 0.0));
3194b7da592SKarsten Heimrich
3204b7da592SKarsten Heimrich // copies
3214b7da592SKarsten Heimrich fNumberOfCopies = new BTextControl("Number of copies:", "1", NULL);
3224b7da592SKarsten Heimrich _DisallowChar(fNumberOfCopies->TextView());
3234b7da592SKarsten Heimrich fCollate = new BCheckBox("Collate");
3244b7da592SKarsten Heimrich fReverse = new BCheckBox("Reverse");
3254b7da592SKarsten Heimrich
3264b7da592SKarsten Heimrich BView* view2 = BGroupLayoutBuilder(B_VERTICAL, 5.0)
3274b7da592SKarsten Heimrich .Add(BGroupLayoutBuilder(B_HORIZONTAL, 5.0)
3284b7da592SKarsten Heimrich .Add(fNumberOfCopies->CreateLabelLayoutItem())
3294b7da592SKarsten Heimrich .Add(fNumberOfCopies->CreateTextViewLayoutItem()))
3304b7da592SKarsten Heimrich .Add(fCollate)
3314b7da592SKarsten Heimrich .Add(fReverse)
3324b7da592SKarsten Heimrich .SetInsets(10.0, 5.0, 10.0, 5.0);
3334b7da592SKarsten Heimrich
3344b7da592SKarsten Heimrich BBox* box2 = new BBox(B_FANCY_BORDER, view2);
3354b7da592SKarsten Heimrich box2->SetLabel(BGroupLayoutBuilder()
3364b7da592SKarsten Heimrich .Add(new BStringView("", "Copies"))
3374b7da592SKarsten Heimrich .SetInsets(2.0, 0.0, 2.0, 0.0));
3384b7da592SKarsten Heimrich
3394b7da592SKarsten Heimrich groupView->AddChild(BGroupLayoutBuilder(B_HORIZONTAL, 10.0)
3404b7da592SKarsten Heimrich .Add(box)
3414b7da592SKarsten Heimrich .Add(box2));
3424b7da592SKarsten Heimrich
3434b7da592SKarsten Heimrich // other
3444b7da592SKarsten Heimrich fColor = new BCheckBox("Print in color");
3454b7da592SKarsten Heimrich fDuplex = new BCheckBox("Double side printing");
3464b7da592SKarsten Heimrich
3474b7da592SKarsten Heimrich view = BGroupLayoutBuilder(B_VERTICAL, 5.0)
3484b7da592SKarsten Heimrich .Add(fColor)
3494b7da592SKarsten Heimrich .Add(fDuplex)
3504b7da592SKarsten Heimrich .SetInsets(10.0, 5.0, 10.0, 5.0);
3514b7da592SKarsten Heimrich
3524b7da592SKarsten Heimrich box = new BBox(B_FANCY_BORDER, view);
3534b7da592SKarsten Heimrich box->SetLabel(BGroupLayoutBuilder()
3544b7da592SKarsten Heimrich .Add(new BStringView("", "Other"))
3554b7da592SKarsten Heimrich .SetInsets(2.0, 0.0, 2.0, 0.0));
3564b7da592SKarsten Heimrich groupView->AddChild(box);
3574b7da592SKarsten Heimrich
3584b7da592SKarsten Heimrich AddPanel(groupView);
3594b7da592SKarsten Heimrich SetOptionFlags(fJobPanelFlags);
3604b7da592SKarsten Heimrich }
3614b7da592SKarsten Heimrich
3624b7da592SKarsten Heimrich
3634b7da592SKarsten Heimrich void
_DisallowChar(BTextView * textView)3644b7da592SKarsten Heimrich BJobSetupPanel::_DisallowChar(BTextView* textView)
3654b7da592SKarsten Heimrich {
3664b7da592SKarsten Heimrich for (uint32 i = 0; i < '0'; ++i)
3674b7da592SKarsten Heimrich textView->DisallowChar(i);
3684b7da592SKarsten Heimrich
3694b7da592SKarsten Heimrich for (uint32 i = '9' + 1; i < 255; ++i)
3704b7da592SKarsten Heimrich textView->DisallowChar(i);
3714b7da592SKarsten Heimrich }
3724b7da592SKarsten Heimrich
3734b7da592SKarsten Heimrich
3744b7da592SKarsten Heimrich } // namespace Print
3754b7da592SKarsten Heimrich } // namespace BPrivate
376