View Javadoc

1   /*
2    * Copyright (c) 2003-2008 by Cosylab d. d.
3    *
4    * This file is part of CosyBeans-Common.
5    *
6    * CosyBeans-Common is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10   *
11   * CosyBeans-Common is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   * You should have received a copy of the GNU General Public License
17   * along with CosyBeans-Common.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  
20  package com.cosylab.gui.components.introspection;
21  
22  import java.lang.reflect.Member;
23  
24  import javax.swing.DefaultListModel;
25  import javax.swing.JComboBox;
26  import javax.swing.JList;
27  import javax.swing.JPanel;
28  
29  import com.cosylab.introspection.ClassIntrospector;
30  import com.cosylab.introspection.MemberFilter;
31  
32  /**
33   * Creation date: (11.1.2002 23:50:39)
34   * 
35   * @author <a href="mailto:miha.kadunc@cosylab.com">Miha Kadunc</a>
36   * @version $id$
37   */
38  public class MethodSelectionPanel extends JPanel {
39  
40  /**
41   * 
42   * @author  Miha Kadunc (miha.kadunc@cosylab.com)
43   * @version @@VERSION@@
44   */
45  class IvjEventHandler implements java.awt.event.ActionListener, java.beans.PropertyChangeListener, javax.swing.event.ListSelectionListener {
46  		/**
47  		 * @param e java.awt.event.ActionEvent
48  		 * @see java.awt.event.ActionListener#actionPerformed(ActionEvent)
49  		 */
50  		public void actionPerformed(java.awt.event.ActionEvent e) {
51  			if (e.getSource() == MethodSelectionPanel.this.getJComboBox1()) 
52  				connEtoC2(e);
53  		};
54  		/**
55  		 * @param evt java.beans.PropertyChangeEvent
56  		 * @see java.beans.PropertyChangeListener#propertyChange(PropertyChangeEvent)
57  		 */
58  		public void propertyChange(java.beans.PropertyChangeEvent evt) {
59  			if (evt.getSource() == MethodSelectionPanel.this && (evt.getPropertyName().equals("background"))) 
60  				connPtoP1SetTarget();
61  			if (evt.getSource() == MethodSelectionPanel.this.getJComboBox1() && (evt.getPropertyName().equals("background"))) 
62  				connPtoP1SetSource();
63  		};
64  		/**
65  		 * @param e javax.swing.event.ListSelectionEvent
66  		 * @see javax.swing.event.ListSelectionListener#valueChanged(ListSelectionEvent)
67  		 */
68  		public void valueChanged(javax.swing.event.ListSelectionEvent e) {
69  			if (e.getSource() == MethodSelectionPanel.this.getJList1()) 
70  				connEtoC1(e);
71  		};
72  	}
73  	private boolean ivjConnPtoP1Aligning = false;
74  	/**
75  	 */
76  	IvjEventHandler ivjEventHandler = new IvjEventHandler();
77  	private JComboBox ivjJComboBox1 = null;
78  	private JList ivjJList1 = null;
79  	private java.lang.Class fieldInspectedClass = null;
80  	private Member fieldSelectedMember = null;
81  	/**
82  	 */
83  	public final static short MODE_COMBO = 0;
84  	/**
85  	 */
86  	public final static short MODE_LIST = 1;
87  	private short fieldMode = (short) 0;
88  	private MemberFilter fieldMemberFilter = null;
89  /**
90   * MethodSelectionPanel constructor comment.
91   */
92  public MethodSelectionPanel() {
93  	super();
94  	initialize();
95  }
96  /**
97   * MethodSelectionPanel constructor comment.
98   * @param layout java.awt.LayoutManager
99   */
100 public MethodSelectionPanel(java.awt.LayoutManager layout) {
101 	super(layout);
102 }
103 /**
104  * MethodSelectionPanel constructor comment.
105  * @param layout java.awt.LayoutManager
106  * @param isDoubleBuffered boolean
107  */
108 public MethodSelectionPanel(java.awt.LayoutManager layout, boolean isDoubleBuffered) {
109 	super(layout, isDoubleBuffered);
110 }
111 /**
112  * MethodSelectionPanel constructor comment.
113  * @param isDoubleBuffered boolean
114  */
115 public MethodSelectionPanel(boolean isDoubleBuffered) {
116 	super(isDoubleBuffered);
117 }
118 /**
119  * connEtoC1:  (JList1.listSelection.valueChanged(javax.swing.event.ListSelectionEvent) --> MethodSelectionPanel.setSelectedMember(Ljava.lang.reflect.Member;)V)
120  * @param arg1 javax.swing.event.ListSelectionEvent
121  */
122 /* WARNING: THIS METHOD WILL BE REGENERATED. */
123 private void connEtoC1(javax.swing.event.ListSelectionEvent arg1) {
124 	try {
125 		// user code begin {1}
126 		// user code end
127 		this.setSelectedMember((java.lang.reflect.Member)getJList1().getSelectedValue());
128 		// user code begin {2}
129 		// user code end
130 	} catch (java.lang.Throwable ivjExc) {
131 		// user code begin {3}
132 		// user code end
133 		handleException(ivjExc);
134 	}
135 }
136 /**
137  * connEtoC2:  (JComboBox1.action.actionPerformed(java.awt.event.ActionEvent) --> MethodSelectionPanel.setSelectedMember(Ljava.lang.reflect.Member;)V)
138  * @param arg1 java.awt.event.ActionEvent
139  */
140 /* WARNING: THIS METHOD WILL BE REGENERATED. */
141 private void connEtoC2(java.awt.event.ActionEvent arg1) {
142 	try {
143 		// user code begin {1}
144 		// user code end
145 		this.setSelectedMember((java.lang.reflect.Member)getJComboBox1().getSelectedItem());
146 		// user code begin {2}
147 		// user code end
148 	} catch (java.lang.Throwable ivjExc) {
149 		// user code begin {3}
150 		// user code end
151 		handleException(ivjExc);
152 	}
153 }
154 /**
155  * connPtoP1SetSource:  (MethodSelectionPanel.background <--> JComboBox1.background)
156  */
157 /* WARNING: THIS METHOD WILL BE REGENERATED. */
158 private void connPtoP1SetSource() {
159 	/* Set the source from the target */
160 	try {
161 		if (ivjConnPtoP1Aligning == false) {
162 			// user code begin {1}
163 			// user code end
164 			ivjConnPtoP1Aligning = true;
165 			this.setBackground(getJComboBox1().getBackground());
166 			// user code begin {2}
167 			// user code end
168 			ivjConnPtoP1Aligning = false;
169 		}
170 	} catch (java.lang.Throwable ivjExc) {
171 		ivjConnPtoP1Aligning = false;
172 		// user code begin {3}
173 		// user code end
174 		handleException(ivjExc);
175 	}
176 }
177 /**
178  * connPtoP1SetTarget:  (MethodSelectionPanel.background <--> JComboBox1.background)
179  */
180 /* WARNING: THIS METHOD WILL BE REGENERATED. */
181 private void connPtoP1SetTarget() {
182 	/* Set the target from the source */
183 	try {
184 		if (ivjConnPtoP1Aligning == false) {
185 			// user code begin {1}
186 			// user code end
187 			ivjConnPtoP1Aligning = true;
188 			getJComboBox1().setBackground(this.getBackground());
189 			// user code begin {2}
190 			// user code end
191 			ivjConnPtoP1Aligning = false;
192 		}
193 	} catch (java.lang.Throwable ivjExc) {
194 		ivjConnPtoP1Aligning = false;
195 		// user code begin {3}
196 		// user code end
197 		handleException(ivjExc);
198 	}
199 }
200 /**
201  * 
202  */
203 /* WARNING: THIS METHOD WILL BE REGENERATED. */
204 private static void getBuilderData() {
205 /*V1.1
206 **start of data**
207 	D0CB838494G88G88GC999ADACGGGGGGGGGGGG8CGGGE2F5E9ECE4E5F2A0E4E1F4E14DBBEDF0945711780E90DD05CBF0193AD230FCC7304E219262124B4AD9F1280B38A3B1892A9CC9F0A5BF3818BB4BE7F2678F6ECC6A648B659A2DA4748912039098CBD89FAB310BD60B3EC0D89220AF0C844288CB86B921EC0D34A3E94DEAE73DBB12D6E29DDD776BF933334B6C2E9C5FD5C5D54D6C6BFE9F5D7D7AF5776B990452375667E41ACA85A1B3C7D07F5AB285A13DC590DAAD5B1E673854376A8B
208 	855DDF95406B423F7932613983E8E96F55971688D6A98F5A69506E0376D178FDD830CBA34D70A342BAB6206DFDA4479CFD1D05F93ECEAEEBF7D595417390409E4095D556970ED6627A23D547D4FCA3348F293F91B2CD02D0D205FDFEE8BD2643A7287D52611981104C7A782A4AD57AA834310F871EAB2B28EF82BC7399F7DFE8BF27763BFD7F86E15F0F66CC87F1AD5D7C9C762BE3AB2B5527709AD3C416F0F334831E1DC3F726AECC48B3768959376092476DD333CE3B6890BD0A6475591D6EC9F9FC56575EFECD
209 	D226E547306412A694276C9E925D12CBD8D30DBC3FEC4DE373814F50AE2FC15C54A95453CEE83FG10DD43797E4941CE152F35F7B6883B9FF6C664FB2C0678DDD99364FB7AAFFF1055EA46799358BE60382DC05F8FC03C24D7F1DE7CE64E4B735558B7895A5BGF6EB78C7EB901F0173555697DAEAB90F67CFF29EC76FBEA6E40CFF55D49C01472EDA62ED3AB648E35C1694539B4CD6F296F03F9301368DE09700D0D7DFD889508570A633515479D3706C9ED7FA651999595D6D7174389C5EEB32C3F2416F76F620
210 	2838772489596B90843243FDD61B81BF9CC66BC2ED9001E43BA5F03B59745EC6C1D13EE24AB110AD79E93F49254E3122AEA85B56BA545BB3ECEF5743EF9C077BC7781798BE6FE490CFFBB54370583681AD7EA4577368A14E4BE0F602D0527420A957001778FFD8E34A36908F6516A0AF2463E796D1477D00F7G84G5682A4836C34F09D9778DBE269F8408D566E96DD4333639E512B744CBADD8E492B6AFAC3D5B4DD9B810DCB7A4C63C8AF9BDB74FB346B71F506FA5935F14934D755C71EB52897DA7BD7915736
211 	D86F350DC35A9E7E1E1D09CEAB6DE116061798FED007273DFD111DADEC5F86DAAAG752FB6A35EFC0A7A97EA73B4B2FC1F8ECF73A43379316DG5AB6G5A5F38G7AC3DBFDFDE1BF4098009FA09EA099E0DBBD5F63777D2717F90E06F47BCBE38FAD1441D372ABDEF1406DD3C47704F4D374BA45F117649354BEC797D02F63A1634A59791E00B5AECBEE49AB12DF740AB3923ACE6AD33B70BA7671CA0CBA621C11E001990F4067EDD8B88CCF1768D35E77B8C4C58A76A07A19853409B971A64C8893406FE3B654D7
212 	61A974F3FBC07EEC9B57D56A27083B8DED454675123470DBF8DE856316DC6D6DFDCE663CC56F82375167CE218CF150FFA7C0E5836CA1408ABB7CBE4D4F69CB235C9E7B8EFEDD30BD7DD5C3FBE4316CB459567E536176380F2DE3EE04788C60GD889108830351147D65F29B15DDC488B73BFF6E3FB65102A76C37E593853467D63D4BA2D75651035F255E761B24EA7BEF3546741887D3254A76D0BFD89EDBB9D64941AC02FCDFCEF7EE32112EC36C774C95CCA2FFB4140A4C7F027286F1EC50CC1521C64D67AA40F
213 	64F6408F1FEAA3AFAF66876DF7D256EC6B578C0F7E2C978C4C2761FF3378BA61E18E7DE960742C3BC89795456B9C1FD524E1C9D11C6E296078423B480BAF44D57AD4D99B8514759C48B884B026497AB7F78F6B6CF0D0166F4CFAC670042976ACD4236DAA50FFF59337873186F32FA42DFD07350374D72AC7E36CD7AC4039237B70221A4F3BC6D6949A2DE1B1C3F2AAF03F1A236273B57AD9C65F813CE6207DB403AF8470B4F3BDBC49F8B49A7FF9788E6571E7EC0D7079E31D1765825948C30148B61E98B03671EF
214 	840CEDBCA9905D06D382C6B6CC346F85D0C6F95E2DBB93DB8368C7A7E4371B72DFED08C03974CBA3A807536DD4EEB99DD312B26CDC1440B7B533D848FCF5BC7C5E544CFD6AFC8D772966450705540F9443BCAC7EEF9FB0E537100D9EEB897AD462697B1F62D9030CFC869455AB4F3A9542EFE7F1C0457B32986E61CFAE60D84B95080F63F20F6CEF320D0B93F7263CB04CD1595950F02152A84357F532B6527E9F961EE92039E28C20D98D978C4E352E798162EB5069D31AECAE78D71B50BEA73AE6255EE951BDA5
215 	B9AC9F0BF3225F6E1B07ED34B39B318F6ABBDFC21435B222A0BEC96DABB92EC9B3631257B208B35ADDB03B5DABCDA249CE148E6BCDEB134A5F4E5FA5B37E7E74B834095E29A6B61B4A19CF9DFC93F932B6937F3FBB3BB6FC5FBDDE59A3F91585E25B9E5AE4C25847A5516D338F05D07E0F59EFA17EF2DAD338FE7F54B854A9B8489AD77200A24DD8DBA966CDE432188767F390405142E35E65BFA01D47BCB530774AAE15A920253420FFB8D5DF2ABB7301962AAB9C5268B7E3507FAC04AE3492FD901EC44F32990D
216 	9F53680F5B0C46AB9A3D35A1527AA4E76BD2897AD26913D989D2E78C6AD72585B57F6DD87AED980D192716D777AEE18CF1697281421F950CFDDB2700B9409DED7EAE61000079B14DC93EB8C944B9BDDE678C24CF186028751723557A7ACB9C4807351ACD70CC8520315F7E88E5B5B29F4B991C630E1957E7FE51CA394ADEF8661D216789D45FD96C57D64B7BA9C0DB8D30698C2D17F106F4371575FBCD6B3762AC4577783354FFA3BC6D5AFCE7AC3CDFC99B2DE7E9B31A6FD52D5FF49B6589AB547EEB5AE83E0DED
217 	586F6DD33CCEF2DA438DB15C17C021B73279DD74DA093E4E64702DB60CD388AF34919F423970BBFA3C89672D84FC63B9FEB61E947479E0374FA7CFB85995C95DFFE726BE06914E1DD9G4FC927578777F5076467B624E4A22FF807D2512A9DAC79D15E70BB61A507D3113DBC5D6E1D6F55E27ACD27B44F657E749DFD1DEAF371FD264288F2772972BAF4F21B3724180807EF561FDF868F4CF30D483DF0156C0723904E12DAE77BCEBD5F3344F33C5E55EE6338DD9A6E5FB5DC695B5C2EDFE135C7D66B5305297676
218 	AB4C36E95CFDAC87477E03EF739A5937EA719C2E04F682C0B2G5D575732FBBC6601E9004BEE2FAFA4FF7E9BB36ED1B052F39F6528537B104EF6BABB0EF61E8F7DD7F717CACBFBB4C1C849DDE3D8F31B7EFA02495FCEFADE5F9E5477262BCFE5258290EFE30CE714E3AF7431F4F0BFE6AB5673B056C1BC2C6C603CBFD50BBCFC5EGCF7A5E75061D793D4F92F1386DEDB82C57C567523821AE620ADD26788E52C1EAC7D097FBFE591F359F00F4F1320E57E70ABA616E5D49E55DF7927DA8C6B8EA17DB8EB2FEF5A9
219 	04407989FC4079D9117628F06C707D916B2101CE62A331D3D7B32CC84E7A85G717321056F4DBE68E3BB4F79793E85CB75A2A91D9EC312F7D2764E28FA370B730A2A74EE1D36F97D285A4A65F4401C895A3CFFE18D1573B156CF9F45553AE8335E4F256EDE91514F6DBCCF326DB99F6E674CB9F8FE32AF54979E3B407D5C4B192F6B7C5CFB30AAEC3D8BF52B5EF9CC489744B3357DB5366E1C2AFF1AD7BC00F6EB03B97B8146G7CG715A9A162C18754DCB7EA8754D3F2F7FACF54A148B7C5EF951361CF1E99702
220 	F7EC9A77723246F1582D2D372ABAFC5CBE5D5CF9976F3D4BD34D310A1D01720BD4F34C5170B606EF546149169E577CC79F50B6DE646B2FB3C7633B288B629B40C8D7383C9B230EC370F70572CEBEE44A057BEB6033F9BA2A4605876B385FDE5345EB01CF64E29E308D5A69G7B810EF55797F6820C82843A396D7833FAE259CEB73FC40F485A4F5E700BB017F532B6DC56355D2132B50649CA6314FB4659435AC95DC6BA5AEEBDEA2CA3744C2AFEA60A39FE36F5F37D346523FE049E08F3G2DGC3G8A409A0064
221 	9E2E1F6DD9C671BB74ECC58A5E413A9A49784049D8F6E02C1B2F459C3733A7F41CEA8385A8638BC04B6B2DAF2C846884988388G2C6F65B21E480EE983DAD9FBB9B660307CF1B6603DE7DC388D24749A0D33C4FD9796F93D33B1476D68B5526B2F8BD96D9DE8991A8E835998BF391F9F121DEEC560BE5E1A03F794596B1CF23AB94E4EF09332179519541C77C0647A176700F17DEB6E00F17DABF0A0FA0DF76501C875B12A47BE4DF24D3C3E7AC2B3G61EE323C729C3407B45C01865EEFDA43BD447248G3457E8
222 	38C5B36212211D56477D69C9663776C2BB6F9247B5B3DC1EFAE7A25CF7EA2355E0F17CF2E3892E930E23B5FE9AF50DE8B55CF048B140D530B9AA1750D77964D96F8455AA2E4FC9DE2F53A13D8BE7CB6D733CF2C4B028B3329EFC1EE75DB80F82C90D245CBB8F65B9BFB1672B738CA972D013A6677ABA3479F283BD30F3E200A7FB59129B59B637659A5B660FF38FEA72065B5F533947B4DA5011E0BE06C2D01FDF3271A4E778786758F822C59A7FD2AE5E59461D8E27D72D38107EFED8D64C4E064FA779187E7AC4
223 	C5D47576D0AD575BA5C56E8D6AED3AB81A2F68833D0D06690EF8684E0F2C377EFCE33D3D1B9FD9EF6F6747565B07791175A66547561BBBBF12EFA09D7D68E4A1372DC92FBC8356255AC8C1949BA908E0A385D1EC24E099B6D29045C68A16E1A38561B6C2B2BEE8515BC133A67BC756D0591B55357E076510FEED6D57D8FBC160F90A54FDA8F8E65D8EB5C0D05D658566EB5BE081C96BDFF68B571FF1D2CF54BD652C73B64CCDDD17026F61E90E8A6607BBG5120711ADC0DB146A5AE483330561ECB58EF3BD6838B
224 	C0FBAD40E6009D1768AECCEBBFB60FB2CEC24407ED9F76C8934256F7F06C7DE66D9BA7E87781B8GD682A43E436FDB2F36637DBFD8B0653C1CFE9BF921CAB50FB1CFB0DFDFF499E24CE59EA7FEFE1A4709C68D37D44CF1ABB45C17D80C59816D744BBCCEFCEA433BDE46E5DE23F8251AFFA3D4548F7C76F3791A46B0AF52F2C63CD93637DF86875AA3CE8DB2EDD15E58D113270E8F7473FA0813FD27108C6DB40074FEDE3F705771FA5126C7920441956B8C3FEB5ABDF21FE9FF3FFAEF9C885E9F15ADA9A6DA7389
225 	B3DF73B650578EA06EB9333EEE41EBF6189B917DE82D1E0EE7579AC29F8821A33F7F1829275F8D2167684613EC5BEB39EC7B37FFC3F0FDBBAE62B7DB3BD41904AB7474349D97123E7703AC32019F5721DDA9326C9AF1FAC6409788672E60B7F7F3D88A94122E30EF08CE77994C4BA1D3883E67C4884018B5GC7D43E932F50394854667B2BE2BEDF4615FBE31BFEAED6A3398AF972D51A0FFD63F2B5B89F4930219AEDED4E69F3E22DFA64AA2B4BD573BD6B02B61D47842A411984610B820FA12F5EF3FF0D85B4AE
226 	37660F9B57751947110F69E0353DF81D6C046FE378C49D1E4E19DC434FD99250CA87799D4BD10A7E428F6D35G1BG368224838857F85E7C67C50DC20C3B47086C99042062522531A45F6618776AF0A0FB5E124B6DB97949C4A1E5D5FF445AEE69B53219D67519F776B84313FC7FFD8465F3GED85C0A240E6009DGFBB479369759C8BEAC794255C91C18E695EDAE9C96F803E8F4364463BF7DDEDF0FAAD967B1E5C660F1BF676D5D20BFF90B2D8DB8017F6D3DF8AFCED04FDF850A216A66DF0A38EE4A3F791050
227 	7773FED3CD04F5BB5575D66B569DFBF1D5B679312734BB77D620AF0F1F3D97091FAF22FA557336239A671894DD3EE0BDF27D3CDEB7678AD6C52C556DD7F9AB39CE4FDD53475533514D3E7B255FD7F43FE7BF77779E314F65177FDF57A03B1BA90D1C0BA925463958E22971DDF2C5E974EFA962CAA3FFCB7115D27D3794F4EE7E7AB8461BFE589387C09CC082C052F5FEE6AA0ED48B6C4C981C17CB0EA94C8571ABBD052FAF14C516B537AC7637FDA5E56C1D052CA8728C4E4F71E5E538DF0A6CE1C8423DD906BA02
228 	2B7C34C2DDD5FCD5995A31CB1AE4E812733BC8D2690F15554273267831619B20AB1006DC9F7F98B25091F1CA5353FF16E36CCA833D6C81A89A02BC89609C40900083408F309AA091E0B3408E00F4008C003C9B1033GB45E60FA9DBFE60D4483A0558408A957ABD27D026CB5AD646E5387730D5E08FE67A67EEF1DE0BA013EF19A8FE9EF54C761013F4FA7AC3D0520F10F9C0F3C475FBA9EFB0F7F6EB8FB1F88FBB33260D1F37F6F9EE7F51949C91F2459D26A71928DB7609B12FDCE3C9490AD27A2B28FC59531F9
229 	B8D2E1ECE7EFD65CEBE7159546F6D6D72137B34255D760991B027D9B557AB5EA388FB45C99B6A762EEB99D4A34066FE0FCA13EDF4285353BAB63EB1E61C6D55CBBBA5C87AA6EEA856A91C41E1635DA56D085666213CE170B5AA32C0F538DEA5574718163516991F5FCFF286110EF4A751FE531E4638D4ABB88370761D2D59C0D3DFD62105ECF29AF3108B6F122D4206F331C224B3948DEB58FC3C777945D89C476AEC025B375903E5CFFB008676A91687F172C72AE42F3530BC20EA29453FB3ECA31F206FDBB6073
230 	8A455AEB2B81A6766E3916762CE79F061CB0FBC0B8C0E6B0A0E463DE8E88B9EC2B8704ACB083BFFE9E9C72677BC478838BF05921C071503A240F0799DF180A988FCB06695C1A07435FDD7D33027A9C83FCE0181F558625A10A4F9A1E91DDAEC5F45D69F6BB50FF75ACA8D2B0A67C2B02737BF89F15C834DFA94877473AB17F8BD0CB87883546D2AFCE92GG8CB4GGD0CB818294G94G88G88GC999ADAC3546D2AFCE92GG8CB4GG8CGGGGGGGGGGGGGGGGGE2F5E9ECE4E5F2A0E4E1
231 	F4E1D0CB8586GGGG81G81GBAGGG0892GGGG
232 **end of data**/
233 }
234 /**
235  * Gets the inspectedClass property (java.lang.Class) value.
236  * @return The inspectedClass property value.
237  * @see #setInspectedClass
238  */
239 public java.lang.Class getInspectedClass() {
240 	return fieldInspectedClass;
241 }
242 /**
243  * Return the JComboBox1 property value.
244  * @return javax.swing.JComboBox
245  */
246 /* WARNING: THIS METHOD WILL BE REGENERATED. */
247 private javax.swing.JComboBox getJComboBox1() {
248 	if (ivjJComboBox1 == null) {
249 		try {
250 			ivjJComboBox1 = new javax.swing.JComboBox();
251 			ivjJComboBox1.setName("JComboBox1");
252 			ivjJComboBox1.setToolTipText("Select a method");
253 			// user code begin {1}
254 			// user code end
255 		} catch (java.lang.Throwable ivjExc) {
256 			// user code begin {2}
257 			// user code end
258 			handleException(ivjExc);
259 		}
260 	}
261 	return ivjJComboBox1;
262 }
263 /**
264  * Return the JList1 property value.
265  * @return javax.swing.JList
266  */
267 /* WARNING: THIS METHOD WILL BE REGENERATED. */
268 private javax.swing.JList getJList1() {
269 	if (ivjJList1 == null) {
270 		try {
271 			ivjJList1 = new javax.swing.JList();
272 			ivjJList1.setName("JList1");
273 			ivjJList1.setVisible(false);
274 			// user code begin {1}
275 			// user code end
276 		} catch (java.lang.Throwable ivjExc) {
277 			// user code begin {2}
278 			// user code end
279 			handleException(ivjExc);
280 		}
281 	}
282 	return ivjJList1;
283 }
284 /**
285  * Gets the memberFilter property (com.cosylab.gui.adapters.infobus.MemberFilter) value.
286  * @return The memberFilter property value.
287  * @see #setMemberFilter
288  */
289 public MemberFilter getMemberFilter() {
290 	return fieldMemberFilter;
291 }
292 /**
293  * Creation date: (13.1.2002 3:18:41)
294  * @return short
295  */
296 public short getMode() {
297 	return	fieldMode;
298 }
299 /**
300  * Gets the selectedMethod property (java.lang.reflect.Method) value.
301  * @return The selectedMethod property value.
302  * @see #setSelectedMember
303  */
304 public Member getSelectedMember() {
305 	return fieldSelectedMember;
306 }
307 /**
308  * Called whenever the part throws an exception.
309  * @param exception java.lang.Throwable
310  */
311 private void handleException(java.lang.Throwable exception) {
312 
313 	/* Uncomment the following lines to print uncaught exceptions to stdout */
314 	 System.out.println("--------- UNCAUGHT EXCEPTION ---------");
315 	 exception.printStackTrace(System.out);
316 }
317 /**
318  * Initializes connections
319  * @exception java.lang.Exception The exception description.
320  */
321 /* WARNING: THIS METHOD WILL BE REGENERATED. */
322 private void initConnections() throws java.lang.Exception {
323 	// user code begin {1}
324 	// user code end
325 	this.addPropertyChangeListener(ivjEventHandler);
326 	getJComboBox1().addPropertyChangeListener(ivjEventHandler);
327 	getJList1().addListSelectionListener(ivjEventHandler);
328 	getJComboBox1().addActionListener(ivjEventHandler);
329 	connPtoP1SetTarget();
330 }
331 /**
332  * Initialize the class.
333  */
334 /* WARNING: THIS METHOD WILL BE REGENERATED. */
335 private void initialize() {
336 	try {
337 		// user code begin {1}
338 		// user code end
339 		setName("MethodSelectionPanel");
340 		setLayout(new java.awt.GridBagLayout());
341 		setSize(225, 23);
342 
343 		java.awt.GridBagConstraints constraintsJComboBox1 = new java.awt.GridBagConstraints();
344 		constraintsJComboBox1.gridx = 0; constraintsJComboBox1.gridy = 0;
345 		constraintsJComboBox1.fill = java.awt.GridBagConstraints.HORIZONTAL;
346 		constraintsJComboBox1.weightx = 1.0;
347 		add(getJComboBox1(), constraintsJComboBox1);
348 
349 		java.awt.GridBagConstraints constraintsJList1 = new java.awt.GridBagConstraints();
350 		constraintsJList1.gridx = 0; constraintsJList1.gridy = 1;
351 		constraintsJList1.fill = java.awt.GridBagConstraints.BOTH;
352 		constraintsJList1.weightx = 1.0;
353 		constraintsJList1.weighty = 1.0;
354 		constraintsJList1.insets = new java.awt.Insets(4, 4, 4, 4);
355 		add(getJList1(), constraintsJList1);
356 		initConnections();
357 	} catch (java.lang.Throwable ivjExc) {
358 		handleException(ivjExc);
359 	}
360 	// user code begin {2}
361 	// user code end
362 }
363 /**
364  * Creation date: (12.1.2002 0:59:43)
365  * @return java.lang.reflect.Member[]
366  */
367 private void initializeModels() {
368 	Member[] members=internalGetMembers();
369 	if (fieldMode==MODE_COMBO){
370 		getJComboBox1().setModel(new javax.swing.DefaultComboBoxModel(members));
371 		getJComboBox1().setRenderer(new MemberListCellRenderer(true,true));
372 	}
373 	else if (fieldMode==MODE_LIST) {
374 		DefaultListModel model=new javax.swing.DefaultListModel();
375 		for (int i = 0; i < members.length; i++){
376 		model.addElement(members[i]);
377 		}
378 //		model.copyInto(members);
379 		getJList1().setModel(model);
380 		getJList1().setCellRenderer(new MemberListCellRenderer(true,true));
381 	}
382 }
383 /**
384  * Creation date: (12.1.2002 0:59:43)
385  * @return java.lang.reflect.Member[]
386  */
387 private Member[] internalGetMembers() {
388   if (fieldInspectedClass == null)
389     return new Member[0];
390 
391   Member[] members = ClassIntrospector.getMembers(fieldInspectedClass,fieldMemberFilter);
392   return members;
393 }
394 /**
395  * main entrypoint - starts the part when it is run as an application
396  * @param args java.lang.String[]
397  */
398 public static void main(java.lang.String[] args) {
399 	try {
400 		javax.swing.JFrame frame = new javax.swing.JFrame();
401 		MethodSelectionPanel aMethodSelectionPanel;
402 		aMethodSelectionPanel = new MethodSelectionPanel();
403 		frame.setContentPane(aMethodSelectionPanel);
404 		frame.setSize(aMethodSelectionPanel.getSize());
405 		frame.addWindowListener(new java.awt.event.WindowAdapter() {
406 			public void windowClosing(java.awt.event.WindowEvent e) {
407 				System.exit(0);
408 			};
409 		});
410 		frame.setVisible(true);
411 		java.awt.Insets insets = frame.getInsets();
412 		frame.setSize(frame.getWidth() + insets.left + insets.right, frame.getHeight() + insets.top + insets.bottom);
413 		frame.setVisible(true);
414 		aMethodSelectionPanel.setInspectedClass(Double.class);
415 	} catch (Throwable exception) {
416 		System.err.println("Exception occurred in main() of javax.swing.JPanel");
417 		exception.printStackTrace(System.out);
418 	}
419 }
420 /**
421  * Sets the inspectedClass property (java.lang.Class) value.
422  * @param inspectedClass The new value for the property.
423  * @see #getInspectedClass
424  */
425 public void setInspectedClass(java.lang.Class inspectedClass) {
426 	if (fieldInspectedClass != inspectedClass){
427 		fieldInspectedClass = inspectedClass;
428 		initializeModels();
429 	}
430 }
431 /**
432  * Sets the memberFilter property (com.cosylab.gui.adapters.infobus.MemberFilter) value.
433  * @param memberFilter The new value for the property.
434  * @see #getMemberFilter
435  */
436 public void setMemberFilter(MemberFilter memberFilter) {
437 	fieldMemberFilter = memberFilter;
438 }
439 /**
440  * Creation date: (13.1.2002 3:18:41)
441  * @param newMode short
442  */
443 public void setMode(short newMode) {
444 	if (fieldMode != newMode) {
445 		fieldMode = newMode;
446 		getJComboBox1().setVisible(!getJComboBox1().isVisible());
447 		getJList1().setVisible(!getJList1().isVisible());
448 		initializeModels();
449 		return;
450 	}
451 }
452 /**
453  * Sets the requiredType property (java.lang.Class) value.
454  * @param requiredType The new value for the property.
455  * @see #getRequiredType
456  */
457 private void setSelectedMember(Member selectedMember) {
458 	if (selectedMember != fieldSelectedMember) {
459 		Member oldMember=fieldSelectedMember;
460 		fieldSelectedMember = selectedMember;
461 		firePropertyChange("selectedMember",oldMember,fieldSelectedMember);
462 	}
463 }
464 }