% DOTNOT - "Dot Notation" toolbox to replace set/get with simpler syntax.
%
% This Toolbox implements a replacement to the calls set/get that make your code
% easier write and understand. Especially if you write GUIs and advanced plots.
% The main intention is to show how this kind of notation can look in MATLAB
% rater than making a proper implementation.
%
% What do you think? I will not give any support on this BetaBetaDemoVersion ;-)
% Some one interested in turning this to a real implementation? Take it!
%
% First of all before using this: "addpath" to the .../dotnot/ folder!!!
%
%
% ====I will explain the differens with some examples===
%
%
% Move mouse pointer 10 pixels to the right, Classic and dotnot examples:
%
% set(0,'PointerLocation',get(0,'PointerLocation')+[0 10]);
%
% Root.PointerLocation=Root.PointerLocation + [10 0]
%
%
%
% Move poiner to middle of screen,, Classic and dotnot examples:
%
% si=get(0,'ScreenSize');
% set(0,'PointerLocation',si(3:4)/2);
%
% Root.PointerLocation=Root.ScreenSize(3:4)/2;
%
%
% 'Root' corresponds to handle 0 in MATLAB. In this toolbox you must create
% a 'dotnot' object of the handle first before using 'dotnot' notation.
% If mathworks implemented it they could easily make things much better than I
% can. For example could they make 'Root' to a "auto global" object without
% need of creating it in every function/workspace. You create a handle object
% with the object constructor:
%
% Root=dotnot(0); % Its good to always create the Root object.
% dotnot % Or do the same with this syntax.
% Fig123=dotnot(1,2,3); % Create one handle to figure 1, 2 and 3.
%
%
% Root.Children.Color='Green'; % Change color of all figures.
%
% Fig123.Color='Green'; % Change color of figure 1 2 and 3
%
% posmtx=Fig123.vcat.Position % Get nice array of all window position.
% Fig123.Position(4)=160 % Change width of all three figures.
% Fig123.delete; % Delete all windows.
%
% Fig=Root.fig('Test window'); % Open new window and create dotnot object.
% plot(sin(0:0.1:5))
% Fig.findobj('Type','Line').LineWidth=2 %Change all lines to thick.
%
% Root.fig('New')=gca; % Copy axis a new window.
% Root.self=Fig; % Create a copy of figure to Root
%
% Root.Children.delete
%
%
% As you can se I have inserted some functions in the tree-structure
% objects and it setting. This function can be powerfull to copy
% objects, or open a new window.
%
%
%
%
% C) 2003 Peter Rydester, GPL License, se License file from GNU.
%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation; either version 2 of the License, or
% (at your option) any later version.
%
% 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, write to the Free Software
% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
%