You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: SettingsAreaPP.m
    path of file: ./repos/BRAPH-2/braph2/src/gui
    
    the code of the file until where you have to start completion: classdef SettingsAreaPP < SettingsPP
	%SettingsAreaPP is the panel with area settings.
	% It is a subclass of <a href="matlab:help SettingsPP">SettingsPP</a>.
	%
	% A Prop Panel for Area Settings (SettingsAreaPP) plots the panel for area settings,
	%  including visibility, face color, face alpha, edge color, and edge alpha.
	% It works for all categories.
	%
	% The list of SettingsAreaPP properties is:
	%  <strong>1</strong> <strong>ELCLASS</strong> 	ELCLASS (constant, string) is the class of the property panel for area settings.
	%  <strong>2</strong> <strong>NAME</strong> 	NAME (constant, string) is the name of the property panel for area settings.
	%  <strong>3</strong> <strong>DESCRIPTION</strong> 	DESCRIPTION (constant, string) is the description of the property panel for area settings.
	%  <strong>4</strong> <strong>TEMPLATE</strong> 	TEMPLATE (parameter, item) is the template of the property panel for area settings.
	%  <strong>5</strong> <strong>ID</strong> 	ID (data, string) is a few-letter code for the property panel for area settings.
	%  <strong>6</strong> <strong>LABEL</strong> 	LABEL (metadata, string) is an extended label of the property panel for area settings.
	%  <strong>7</strong> <strong>NOTES</strong> 	NOTES (metadata, string) are some specific notes about the property panel for area settings.
	%  <strong>8</strong> <strong>TOSTRING</strong> 	TOSTRING (query, string) returns a string that represents the concrete element.
	%  <strong>9</strong> <strong>WAITBAR</strong> 	WAITBAR (gui, logical) detemines whether to show the waitbar.
	%  <strong>10</strong> <strong>H_WAITBAR</strong> 	H_WAITBAR (evanescent, handle) is the waitbar handle.
	%  <strong>11</strong> <strong>DRAW</strong> 	DRAW (query, logical) draws the property panel.
	%  <strong>12</strong> <strong>DRAWN</strong> 	DRAWN (query, logical) returns whether the panel has been drawn.
	%  <strong>13</strong> <strong>PARENT</strong> 	PARENT (gui, item) is the panel parent.
	%  <strong>14</strong> <strong>BKGCOLOR</strong> 	BKGCOLOR (figure, color) is the panel background color.
	%  <strong>15</strong> <strong>H</strong> 	H (evanescent, handle) is the panel handle.
	%  <strong>16</strong> <strong>SHOW</strong> 	SHOW (query, logical) shows the figure containing the panel and, possibly, the callback figure.
	%  <strong>17</strong> <strong>HIDE</strong> 	HIDE (query, logical) hides the figure containing the panel and, possibly, the callback figure.
	%  <strong>18</strong> <strong>DELETE</strong> 	DELETE (query, logical) resets the handles when the panel is deleted.
	%  <strong>19</strong> <strong>CLOSE</strong> 	CLOSE (query, logical) closes the figure containing the panel and, possibly, the callback figure.
	%  <strong>20</strong> <strong>X_DRAW</strong> 	X_DRAW (query, logic
    
function value = calculateValue(pr, prop, varargin)
			%CALCULATEVALUE calculates the value of a property.
			%
			% VALUE = CALCULATEVALUE(EL, PROP) calculates the value of the property
			%  PROP. It works only with properties with 5,
			%  6, and 7. By default this function
			%  returns the default value for the prop and should be implemented in the
			%  subclasses of Element when needed.
			%
			% VALUE = CALCULATEVALUE(EL, PROP, VARARGIN) works with properties with
			%  6.
			%
			% See also getPropDefaultConditioned, conditioning, preset, checkProp,
			%  postset, postprocessing, checkValue.
			
			switch prop
				case 37 % SettingsAreaPP.CHECKBOX_VISIBLE
					el = pr.get('EL');
					prop = pr.get('PROP');
					checkbox_visible = uicheckbox( ...
					    'Parent', pr.memorize('H'), ...
						'Tag', 'CHECKBOX_VISIBLE', ...
					    'Text', 'visible', ...
					    'FontSize', 12, ...
					    'Tooltip', [num2str(prop) ' ' upper(el.getPropTag(prop)) '>' num2str(el.get(prop).getPropProp('VISIBLE')) ' ' el.get(prop).getPropDescription('VISIBLE')], ...
					    'ValueChangedFcn', {@cb_visible} ...
					    );
					value = checkbox_visible;
					
				case 38 % SettingsAreaPP.BUTTON_FACECOLOR
					el = pr.get('EL');
					prop = pr.get('PROP');
					button_facecolor = uibutton( ...
					    'Parent', pr.memorize('H'), ...
					    'Tag', 'BUTTON_FACECOLOR', ...
					    'Text', 'face', ...
					    'Tooltip', [num2str(prop) ' ' upper(el.getPropTag(prop)) '>' num2str(el.get(prop).getPropProp('FACECOLOR')) ' ' el.get(prop).getPropDescription('FACECOLOR')], ...
					    'ButtonPushedFcn', {@cb_button_facecolor}, ...
					    'Interruptible', 'off', ...
					    'BusyAction', 'cancel' ...
					    );
					value = button_facecolor;
					
				case 39 % SettingsAreaPP.EDITFIELD_FACEALPHA
					el = pr.get('EL');
					prop = pr.get('PROP');
					editfield_facealpha = uieditfield('numeric', ...
					    'Parent', pr.memorize('H'), ...
					    'Tag', 'EDITFIELD_FACEALPHA', ...
					    'Limits', [0 1], ...
					    'FontSize', 12, ...
					    'Tooltip', [num2str(prop) ' ' upper(el.getPropTag(prop)) '>' num2str(el.get(prop).getPropProp('FACEALPHA')) ' ' el.get(prop).getPropDescription('FACEALPHA')], ...
					    'ValueChangedFcn', {@cb_editfield_facealpha} ...
					    );
					value = editfield_facealpha;
					
				case 40 % SettingsAreaPP.SLIDER_FACEALPHA
					el = pr.get('EL');
					prop = pr.get('PROP');
					slider_facealpha = uislider( ...
					    'Parent', pr.memorize('H'), ...
					    'Tag', 'SLIDER_FACEALPHA', ...
					    'Limits', [0 1], ...
					    'FontSize', 12 / 2, ...
					    'Tooltip', [num2str(prop) ' ' upper(el.getPropTag(prop)) '>' num2str(el.get(prop).getPropProp('FACEALPHA')) ' ' el.get(prop).getPropDescription('FACEALPHA')], ...
					    'ValueChangedFcn', {@cb_slider_facealpha} ...
					    );
					value = slider_facealpha;
					
				case 41 % SettingsAreaPP.BUTTON_EDGECOLOR
					el = pr.get('EL');
					prop = pr.get('PROP');
					button_edgecolor = uibutton( ...
					    'Parent', pr.memorize('H'), ...
					    'Tag', 'BUTTON_EDGECOLOR', ...
					    'Text', 'edge', ...
					    'Tooltip', [num2str(prop) ' ' upper(el.getPropTag(prop)) '>' num2str(el.get(prop).getPropProp('EDGECOLOR')) ' ' el.get(prop).getPropDescription('EDGECOLOR')], ...
					    'ButtonPushedFcn', {@cb_button_edgecolor}, ...
					    'Interruptible', 'off', ...
					    'BusyAction', 'cancel' ...
					    );
					value = button_edgecolor;
					
				case 42 % SettingsAreaPP.EDITFIELD_EDGEALPHA
					el = pr.get('EL');
					prop = pr.get('PROP');
					editfield_edgealpha = uieditfield('numeric', ...
					    'Parent', pr.memorize('H'), ...
					    'Tag', 'EDITFIELD_EDGEALPHA', ...
					    'Limits', [0 1], ...
					    'FontSize', 12, ...
					    'Tooltip', [num2str(prop) ' ' upper(el.getPropTag(prop)) '>' num2str(el.get(prop).getPropProp('EDGEALPHA')) ' ' el.get(prop).getPropDescription('EDGEALPHA')], ...
					    'ValueChangedFcn', {@cb_editfield_edgealpha} ...
					    );
					value = editfield_edgealpha;
					
				case 43 % SettingsAreaPP.SLIDER_EDGEALPHA
					el = pr.get('EL');
					prop = pr.get('PROP');
					slider_edgealpha = uislider( ...
					    'Parent', pr.memorize('H'), ...
					    'Tag', 'SLIDER_EDGEALPHA', ...
					    'Limits', [0 1], ...
					    'FontSize', 12 / 2, ...
					    'Tooltip', [num2str(prop) ' ' upper(el.getPropTag(prop)) '>' num2str(el.get(prop).getPropProp('EDGEALPHA')) ' ' el.get(prop).getPropDescription('EDGEALPHA')], ...
					    'ValueChangedFcn', {@cb_slider_edgealpha} ...
					    );
					value = slider_edgealpha;
					
				case 20 % SettingsAreaPP.X_DRAW
					value = calculateValue@PanelProp(pr, 20, varargin{:}); % also warning
					if value
					    pr.memorize('CHECKBOX_VISIBLE')
					
					    pr.memorize('BUTTON_FACECOLOR')
					    pr.memorize('EDITFIELD_FACEALPHA')
					    pr.memorize('SLIDER_FACEALPHA')
					    
					    pr.memorize('BUTTON_EDGECOLOR')
					    pr.memorize('EDITFIELD_EDGEALPHA')
					    pr.memorize('SLIDER_EDGEALPHA')
					end