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 17 class BMenuField; 18 class BPopUpMenu; 19 class BTextControl; 20 21 22 class ChangeParametersPanel : public AbstractParametersPanel { 23 public: 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 33 protected: 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 48 protected: 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