MCPcopy Create free account
hub / github.com/AstroImageJ/astroimagej / addScrollbars

Method addScrollbars

ij/src/main/java/ij/gui/StackWindow.java:159–222  ·  view source on GitHub ↗
(ImagePlus imp)

Source from the content-addressed store, hash-verified

157 }
158
159 void addScrollbars(ImagePlus imp) {
160 ImageStack s = imp.getStack();
161 int stackSize = s.getSize();
162 int sliderHeight = 0;
163 nSlices = stackSize;
164 hyperStack = imp.getOpenAsHyperStack();
165 //imp.setOpenAsHyperStack(false);
166 int[] dim = imp.getDimensions();
167 int nDimensions = 2+(dim[2]>1?1:0)+(dim[3]>1?1:0)+(dim[4]>1?1:0);
168 if (nDimensions<=3 && dim[2]!=nSlices)
169 hyperStack = false;
170 if (hyperStack) {
171 nChannels = dim[2];
172 nSlices = dim[3];
173 nFrames = dim[4];
174 }
175 if (nSlices==stackSize) hyperStack = false;
176 if (nChannels*nSlices*nFrames!=stackSize) hyperStack = false;
177 if (cSelector!=null||zSelector!=null||tSelector!=null)
178 removeScrollbars();
179 ImageJ ij = IJ.getInstance();
180 //IJ.log("StackWindow: "+hyperStack+" "+nChannels+" "+nSlices+" "+nFrames+" "+imp);
181 if (nChannels>1) {
182 cSelector = new ScrollbarWithLabel(this, 1, 1, 1, nChannels+1, 'c');
183 add(cSelector);
184 sliderHeight += cSelector.getPreferredSize().height + ImageWindow.VGAP;
185 if (ij!=null) cSelector.addKeyListener(ij);
186 cSelector.addAdjustmentListener(this);
187 cSelector.setFocusable(false); // prevents scroll bar from blinking on Windows
188 cSelector.setUnitIncrement(1);
189 cSelector.setBlockIncrement(1);
190 }
191 if (nSlices>1) {
192 char label = nChannels>1||nFrames>1?'z':'t';
193 if (stackSize==dim[2] && imp.isComposite()) label = 'c';
194 zSelector = new ScrollbarWithLabel(this, 1, 1, 1, nSlices+1, label);
195 if (label=='t') animationSelector = zSelector;
196 add(zSelector);
197 sliderHeight += zSelector.getPreferredSize().height + ImageWindow.VGAP;
198 if (ij!=null) zSelector.addKeyListener(ij);
199 zSelector.addAdjustmentListener(this);
200 zSelector.setFocusable(false);
201 int blockIncrement = nSlices/10;
202 if (blockIncrement<1) blockIncrement = 1;
203 zSelector.setUnitIncrement(1);
204 zSelector.setBlockIncrement(blockIncrement);
205 sliceSelector = zSelector.bar;
206 }
207 if (nFrames>1) {
208 animationSelector = tSelector = new ScrollbarWithLabel(this, 1, 1, 1, nFrames+1, 't');
209 add(tSelector);
210 sliderHeight += tSelector.getPreferredSize().height + ImageWindow.VGAP;
211 if (ij!=null) tSelector.addKeyListener(ij);
212 tSelector.addAdjustmentListener(this);
213 tSelector.setFocusable(false);
214 int blockIncrement = nFrames/10;
215 if (blockIncrement<1) blockIncrement = 1;
216 tSelector.setUnitIncrement(1);

Callers 2

updateImageMethod · 0.95
StackWindowMethod · 0.95

Calls 15

getSizeMethod · 0.95
removeScrollbarsMethod · 0.95
getInstanceMethod · 0.95
setSliderHeightMethod · 0.95
getOpenAsHyperStackMethod · 0.80
addAdjustmentListenerMethod · 0.80
setFocusableMethod · 0.80
setUnitIncrementMethod · 0.80
setBlockIncrementMethod · 0.80
isCompositeMethod · 0.80
addMethod · 0.65
getStackMethod · 0.45

Tested by

no test coverage detected