/
modify_zone_interfaces.rb
76 lines (68 loc) · 2.16 KB
/
modify_zone_interfaces.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Copyright (c) [2018] SUSE LLC
#
# All Rights Reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of version 2 of the GNU General Public License as published
# by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, contact SUSE LLC.
#
# To contact SUSE LLC about this file by physical or electronic mail, you may
# find current contact information at www.suse.com.
require "cwm"
require "cwm/popup"
require "y2firewall/widgets/modify_zone_interfaces"
module Y2Firewall
module Dialogs
# This dialog allows the user to modify the interfaces belonging to a
# specific zone.
class ModifyZoneInterfaces < ::CWM::Popup
# Constructor
def initialize
super()
textdomain "firewall"
end
# @macro seeAbstractWidget
def title
_("Modify Interfaces")
end
# @macro seeCustomWidget
def contents
VBox(
zone_chooser(zone_interfaces),
zone_interfaces
)
end
private
# @return [Array<Yast::Term>] List of buttons to display
def buttons
[ok_button, cancel_button]
end
# Returns a combo box to select the zone
#
# @note The widget is 'memoized'.
#
# @param interfaces_input [CWM::InputField] input field for modifying the
# selected zone interfaces
# @return [Y2Firewall::Widgets::ZoneInterfacesSelector]
def zone_chooser(interfaces_input)
@zone_chooser ||= Y2Firewall::Widgets::ZoneInterfacesSelector.new(interfaces_input)
end
# Returns a input field to modify the zone interfaces
#
# @note The widget is 'memoized'.
#
# @return [Y2Firewall::Widgets::ZoneInterfaces]
def zone_interfaces
@zone_interfaces ||= Y2Firewall::Widgets::ZoneInterfaces.new
end
end
end
end