144352255SAxel Dörfler /* 244352255SAxel Dörfler * Copyright 2008-2013 Haiku, Inc. All rights reserved. 344352255SAxel Dörfler * Distributed under the terms of the MIT license. 444352255SAxel Dörfler * 544352255SAxel Dörfler * Authors: 644352255SAxel Dörfler * Stephan Aßmus <superstippi@gmx.de> 744352255SAxel Dörfler * Axel Dörfler, axeld@pinc-software.de. 844352255SAxel Dörfler */ 944352255SAxel Dörfler #ifndef ABSTRACT_PARAMETERS_PANEL_H 1044352255SAxel Dörfler #define ABSTRACT_PARAMETERS_PANEL_H 1144352255SAxel Dörfler 1244352255SAxel Dörfler 1344352255SAxel Dörfler #include <LayoutBuilder.h> 1444352255SAxel Dörfler #include <Partition.h> 1544352255SAxel Dörfler #include <PartitionParameterEditor.h> 1644352255SAxel Dörfler #include <Window.h> 1744352255SAxel Dörfler 1844352255SAxel Dörfler #include "Support.h" 1944352255SAxel Dörfler 2044352255SAxel Dörfler 2144352255SAxel Dörfler class BMenuField; 2244352255SAxel Dörfler class BTextControl; 2344352255SAxel Dörfler 2444352255SAxel Dörfler 2544352255SAxel Dörfler class AbstractParametersPanel : public BWindow { 2644352255SAxel Dörfler public: 2744352255SAxel Dörfler AbstractParametersPanel(BWindow* window); 2844352255SAxel Dörfler virtual ~AbstractParametersPanel(); 2944352255SAxel Dörfler 3044352255SAxel Dörfler virtual bool QuitRequested(); 3144352255SAxel Dörfler virtual void MessageReceived(BMessage* message); 3244352255SAxel Dörfler 3344352255SAxel Dörfler status_t Go(BString& parameters); 3444352255SAxel Dörfler void Cancel(); 3544352255SAxel Dörfler 3644352255SAxel Dörfler protected: 3744352255SAxel Dörfler void Init(B_PARAMETER_EDITOR_TYPE type, 3844352255SAxel Dörfler const BString& diskSystem, 3944352255SAxel Dörfler BPartition* partition); 4032da57f7SAxel Dörfler status_t Go(BString& parameters, BMessage& storage); 4144352255SAxel Dörfler 4232da57f7SAxel Dörfler virtual bool NeedsEditor() const; 43*8940ad25SAxel Dörfler virtual bool ValidWithoutEditor() const; 4432da57f7SAxel Dörfler virtual status_t ParametersReceived(const BString& parameters, 4532da57f7SAxel Dörfler BMessage& storage); 4644352255SAxel Dörfler virtual void AddControls(BLayoutBuilder::Group<>& builder, 4744352255SAxel Dörfler BView* editorView); 4844352255SAxel Dörfler 4944352255SAxel Dörfler protected: 5044352255SAxel Dörfler BButton* fOkButton; 5144352255SAxel Dörfler status_t fReturnStatus; 5244352255SAxel Dörfler 5344352255SAxel Dörfler BPartitionParameterEditor* fEditor; 5444352255SAxel Dörfler 5544352255SAxel Dörfler private: 5644352255SAxel Dörfler class EscapeFilter; 5744352255SAxel Dörfler EscapeFilter* fEscapeFilter; 5844352255SAxel Dörfler sem_id fExitSemaphore; 5944352255SAxel Dörfler BWindow* fWindow; 6044352255SAxel Dörfler }; 6144352255SAxel Dörfler 6244352255SAxel Dörfler 6344352255SAxel Dörfler #endif // ABSTRACT_PARAMETERS_PANEL_H 64