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: setinterfacecolor.m
    path of file: ./repos/segment-open/source
    
    the code of the file until where you have to start completion: function setinterfacecolor(handle)
%set background color and text color for all object in all interfaces according to selected background color
global DATA

if isa(DATA,'maingui')
  setcolorall(handle);
%   setcolormaingui(handle);
end

    
function setinterfacecolor(handle)
%set background color and text color for all object in all interfaces according to selected background color
global DATA

if isa(DATA,'maingui')
  setcolorall(handle);
%   setcolormaingui(handle);
end

%------------------------
function setcolorall(handle)
global DATA

switch handle.Type
  case 'figure'
    set(handle,'Color',DATA.GUISettings.BackgroundColor);
    
  case 'axes'
    if ~(strcmp(handle.Tag,'printuipanel'))
      set(handle,'XColorMode','manual','GridColorMode','manual',...
        'GridColor',DATA.GUISettings.BackgroundColor,...
        'XColor',DATA.GUISettings.ForegroundColor,...
        'YColor',DATA.GUISettings.ForegroundColor,...
        'ZColor',DATA.GUISettings.ForegroundColor);
    end
    
  case {'uicontrol','uipanel','uibuttongroup'}
    %this handle is specific to Segment 3DP, should have ligth gray background
    if (strcmp(handle.Tag,'printuipanel'))
      h = findall(handle.printuipanel);
      for loop = 1:length(h)
        if any(contains({'figure','panel','listbox','edit','text','button'},handle.Tag))
          set(h(loop),'BackgroundColor',[0.94,0.94,0.94]);
          set(h(loop),'ForegroundColor',[0, 0, 0]);
        end