⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fm_busfig.m

📁 电力系统分析计算程序
💻 M
字号:
function h1 = fm_busfig(varargin)% FM_BUSFIG graphical user interface for custom bus selections%%see also the function FM_EQUIV and FM_EQUIVFIG%%Author:    Federico Milano%Update:    02-Apr-2008%Version:   0.1%%E-mail:    Federico.Milano@uclm.es%Web-site:  http://www.uclm.es/area/gsee/Web/Federico%% Copyright (C) 2002-2008 Federico Milanoglobal Theme EQUIV Bus Areas Regions File Pathswitch nargin case 0, flag = 'null'; case 1, flag = varargin{1};endswitch flag case 'writelist'  hdl_bus = findobj(gcf,'Tag','BusList');  idx = get(hdl_bus,'Value');  EQUIV.buslist = idx;  listfile = [strrep(File.data,'(mdl)',''),'.lst'];  [fid,message] = fopen([Path.data,listfile],'wt');  if fid == -1    fm_disp(message)    return  end  for i = 1:length(idx)    count = fprintf(fid,'%s\n',Bus.names{idx(i)});  end  fclose(fid);  fm_disp(['File <',listfile,'> written in data folder.'])  close(gcf)  return case 'area'  hdl_area = findobj(gcf,'Tag','PopUpArea');  hdl_vol = findobj(gcf,'Tag','PopUpVoltage');  hdl_bus = findobj(gcf,'Tag','BusList');  busdata = get(hdl_bus,'UserData');  value = get(hdl_area,'Value');  idx = [];  for i = 1:length(value)    idx = [idx; find(getarea(Bus,0,0) == value(i))];  end  set(hdl_bus,'Value',unique(idx),'ListboxTop',idx(1));  set(hdl_vol,'Value',[])  return case 'region'  hdl_region = findobj(gcf,'Tag','PopUpRegion');  hdl_vol = findobj(gcf,'Tag','PopUpVoltage');  hdl_bus = findobj(gcf,'Tag','BusList');  busdata = get(hdl_bus,'UserData');  value = get(hdl_region,'Value');  idx = [];  for i = 1:length(value)    idx = [idx; find(getregion(Bus,0,0) == value(i))];  end  set(hdl_bus,'Value',unique(idx),'ListboxTop',idx(1));  set(hdl_vol,'Value',[])  return case 'voltage'  hdl_vol = findobj(gcf,'Tag','PopUpVoltage');  hdl_bus = findobj(gcf,'Tag','BusList');  hdl_area = findobj(gcf,'Tag','PopUpArea');  busdata = get(hdl_bus,'UserData');  voltages = get(hdl_vol,'String');  value = get(hdl_vol,'Value');  idx = [];  for i = 1:length(value)    idx = [idx; find(getkv(Bus,0,0) == str2num(voltages{value(i)}))];  end  set(hdl_bus,'Value',unique(idx),'ListboxTop',idx(1));  set(hdl_area,'Value',[])  returnendh1 = figure(...    'Units','normalized',...    'Color',Theme.color01, ...    'Colormap',[], ...    'MenuBar','none',...    'Name','Bus Selection',...    'NumberTitle','off',...    'PaperPosition',[18 180 576 432], ...    'Position',sizefig(0.525,0.55),...    'Resize','on',...    'WindowStyle','modal', ...    'FileName','fm_busfig',...    'CreateFcn','Fig.bus = gcf;', ...    'DeleteFcn','Fig.bus = 0;');fm_set colormap% Menu File/Openhm = uimenu('Parent',h1, ...            'Label','File', ...            'Tag','MenuFile');hs = uimenu('Parent',hm, ...            'Callback','close(gcf)', ...            'Label', 'Exit', ...            'Tag','OpenLF', ...            'Separator','on', ...            'Accelerator','q');h2 = uipanel(...    'Parent',h1,...    'Units','normalized',...    'FontSize',10,...    'BackgroundColor', Theme.color01, ...    'Title',{  'Bus Selection' },...    'Tag','uipanel1',...    'Clipping','on',...    'Position',[0.1 0.1 0.35 0.8]);h8 = uibuttongroup(...    'Parent',h1,...    'Units','normalized',...    'FontSize',10,...    'BackgroundColor', Theme.color01, ...    'Title',{  'Advanced Settings' },...    'Tag','uipanel2',...    'Clipping','on',...    'Position',[0.55 0.1 0.35 0.8]);ht = uicontrol( ...    'Parent',h2, ...    'Units','normalized', ...    'BackgroundColor', Theme.color01, ...    'Enable', 'inactive', ...    'HorizontalAlignment','left', ...    'Position',[0.1 0.95 0.8 0.05], ...    'String','Bus Names', ...    'Style','text', ...    'Tag','TextBus');ht = uicontrol( ...    'Parent',h2, ...    'Units','normalized', ...    'BackgroundColor',Theme.color04, ...    'ForegroundColor',Theme.color05, ...    'HorizontalAlignment','left', ...    'Position',[0.1 0.45 0.8 0.5], ...    'Max',20, ...    'String',Bus.names, ...    'Style','listbox', ...    'Value',[], ...    'Tag','BusList');% -----------------------------------------------------------------% Voltage Rate% -----------------------------------------------------------------ht = uicontrol( ...    'Parent',h2, ...    'Units','normalized', ...    'BackgroundColor', Theme.color01, ...    'Enable', 'inactive', ...    'HorizontalAlignment','left', ...    'Position',[0.1 0.35 0.8 0.05], ...    'String','Select Voltage Rate', ...    'Style','text', ...    'Tag','TextVoltage');voltages = unique(getkv(Bus,0,0));volnames = cell(length(voltages),1);for i = 1:length(voltages)  volnames{i} = num2str(voltages(i));endh13 = uicontrol(...    'Parent',h2,...    'Units','normalized',...    'HorizontalAlignment','center', ...    'BackgroundColor',Theme.color04, ...    'ForegroundColor',Theme.color05, ...    'FontName','Curier', ...    'Callback','fm_busfig voltage',...    'FontSize',10,...    'Position',[0.1 0.05 0.8 0.3],...    'String',volnames,...    'Max',20,...    'Style','listbox',...    'Value',[], ...    'Tag','PopUpVoltage');% -----------------------------------------------------------------% Area% -----------------------------------------------------------------ht = uicontrol( ...    'Parent',h8, ...    'Units','normalized', ...    'BackgroundColor', Theme.color01, ...    'Enable', 'inactive', ...    'HorizontalAlignment','left', ...    'Position',[0.1 0.9 0.8 0.05], ...    'String','Select Area', ...    'Style','text', ...    'Tag','TextArea');h13 = uicontrol(...    'Parent',h8,...    'Units','normalized',...    'HorizontalAlignment','center', ...    'BackgroundColor',Theme.color04, ...    'ForegroundColor',Theme.color05, ...    'FontName','Curier', ...    'Callback','fm_busfig area',...    'FontSize',10,...    'Position',[0.1 0.6 0.8 0.3],...    'String',Areas.names,...    'Max',20,...    'Style','listbox',...    'Tag','PopUpArea',...    'Value',[]);% -----------------------------------------------------------------% Region% -----------------------------------------------------------------ht = uicontrol( ...    'Parent',h8, ...    'Units','normalized', ...    'BackgroundColor', Theme.color01, ...    'Enable', 'inactive', ...    'HorizontalAlignment','left', ...    'Position',[0.1 0.5 0.8 0.05], ...    'String','Select Region', ...    'Style','text', ...    'Tag','TextRegion');h13 = uicontrol(...    'Parent',h8,...    'Units','normalized',...    'HorizontalAlignment','center', ...    'BackgroundColor',Theme.color04, ...    'ForegroundColor',Theme.color05, ...    'FontName','Curier', ...    'Callback','fm_busfig region',...    'FontSize',10,...    'Position',[0.1 0.2 0.8 0.3],...    'String',Regions.names,...    'Max',20,...    'Style','listbox',...    'Tag','PopUpRegion',...    'Value',[]);% -----------------------------------------------------------------% Buttons% -----------------------------------------------------------------h13 = uicontrol(...    'Parent',h8,...    'Units','normalized',...    'HorizontalAlignment','center', ...    'BackgroundColor',Theme.color01,...    'FontName','Curier', ...    'Callback','fm_busfig writelist',...    'FontSize',10,...    'Position',[0.1 0.05 0.35 0.1],...    'String','Save',...    'Tag','ButtonList');h13 = uicontrol(...    'Parent',h8,...    'Units','normalized',...    'HorizontalAlignment','center', ...    'BackgroundColor',Theme.color01,...    'FontName','Curier', ...    'Callback','close(gcf)',...    'FontSize',10,...    'Position',[0.55 0.05 0.35 0.1],...    'String','Cancel',...    'Tag','ButtonClose');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -