xref: /haiku/src/tests/add-ons/print/ppd/ui/PrinterSelection.h (revision ed24eb5ff12640d052171c6a7feba37fab8a75d1)
1 /*
2  * Copyright 2008, Haiku.
3  * Distributed under the terms of the MIT license.
4  *
5  * Authors:
6  *		Michael Pfeiffer <laplace@users.sourceforge.net>
7  */
8 
9 #ifndef _PRINTER_SELECTION_H
10 #define _PRINTER_SELECTION_H
11 
12 #include "PPD.h"
13 
14 #include <Invoker.h>
15 #include <View.h>
16 #include <ListItem.h>
17 #include <ListView.h>
18 
19 class FileItem : public BStringItem
20 {
21 private:
22 	BString fFile;
23 
24 public:
25 	FileItem(const char* label, const char* file)
26 		: BStringItem(label)
27 		, fFile(file)
28 	{
29 	}
30 
31 	const char* GetFile() { return fFile.String(); }
32 };
33 
34 class PrinterSelectionView : public BView, public BInvoker
35 {
36 private:
37 	BListView* fVendors;
38 	BListView* fPrinters;
39 
40 public:
41 	PrinterSelectionView(BRect rect, const char *name, uint32 resizeMask, uint32 flags);
42 
43 	void AttachedToWindow();
44 
45 	void FillVendors();
46 	void FillPrinters(const char* vendor);
47 	void MessageReceived(BMessage* msg);
48 };
49 #endif
50