1/*
2 * Copyright 2008-2013 Haiku Inc. All rights reserved.
3 * Distributed under the terms of the MIT license.
4 *
5 * Authors:
6 *		Stephan A��mus <superstippi@gmx.de>
7 *		Axel D��rfler, axeld@pinc-software.de.
8 *		Bryce Groff	  <bgroff@hawaii.edu>
9 */
10#ifndef CHANGE_PARAMS_PANEL_H
11#define CHANGE_PARAMS_PANEL_H
12
13
14#include "AbstractParametersPanel.h"
15
16
17class BMenuField;
18class BPopUpMenu;
19class BTextControl;
20
21
22class ChangeParametersPanel : public AbstractParametersPanel {
23public:
24								ChangeParametersPanel(BWindow* window,
25									BPartition* parent);
26	virtual						~ChangeParametersPanel();
27
28			status_t			Go(BString& name, BString& type,
29									BString& parameters);
30
31	virtual	void				MessageReceived(BMessage* message);
32
33protected:
34								ChangeParametersPanel(BWindow* window);
35
36			status_t			Go(BString& name, BString& type,
37									BString& parameters, BMessage& storage);
38			void 				CreateChangeControls(BPartition* partition,
39									BPartition* parent);
40
41	virtual bool				NeedsEditor() const;
42	virtual bool				ValidWithoutEditor() const;
43	virtual status_t			ParametersReceived(const BString& parameters,
44									BMessage& storage);
45	virtual	void				AddControls(BLayoutBuilder::Group<>& builder,
46									BView* editorView);
47
48protected:
49			BPopUpMenu*			fTypePopUpMenu;
50			BMenuField*			fTypeMenuField;
51			BTextControl*		fNameTextControl;
52			bool				fSupportsName;
53			bool				fSupportsType;
54};
55
56
57#endif // CHANGE_PARAMS_PANEL_H
58