Duplicating Objects

Why do the same work twice? Panorama has several methods for creating a duplicate of one or more objects in a form. Note: The form must be in Graphics Mode to use these techniques.

## The Duplicate Command

To duplicate one or more objects, first select the objects, then right click on one of the objects and choose Duplicate Objects from the pop-up menu. You can also choose the Duplicate tool from the Toolbar. The new object(s) are placed just below and to the right of the originals.

If you duplicate an object (or objects) and then immediately drag (and/or nudge) the copy to a new position, Panorama will memorize this position relative to the original object. Now if you duplicate the copy, Panorama will automatically place the copy of the copy in the same relative position. This makes it easy to quickly create a row or column of identical objects.

## Drag Duplicating

You can also duplicate an object by dragging the object with the Option key held down. When the Option key is held down you drag a copy of the object(s), instead of the original. Just hold down the Option key and drag the same way you would to move the object(s). When the mouse is released a second copy of the object(s) appears at the new location.

If you want the copy to line up with the original, press and hold the Shift key after you start dragging the object. This prevents the object from being dragged diagonally. Note: You must wait to press the Shift key until after you start dragging. If you press the Shift key before you click, it will simply de-select the object.

Once you have created a copy by Option dragging, you can make another copy using one of the methods described above. The Duplicate command will exactly mimic your Option drag, allowing you to quickly create an accurately spaced row or column of objects. Warning: If you want the Duplicate command to mimic your Option drag, you must not do anything in between dragging and performing the Duplicate command. If you click anywhere else in the form, the Duplicate command will not mimic the Option drag.

## Advanced: Duplicating via Blueprint Code

A third way to duplicate form objects is by using blueprint code. This technique allows you to “tweak” the specifications of the object as they are duplicated.

Start by selecting the objects, then click on the Blueprint tool and choose Copy Constructor Code (Selected Objects).

Next, click on the Blueprint tool again and choose Paste Constructor Code….

Panorama will open a dialog sheet containing the specifications of objects that were copied onto the clipboard.

If you just want to make an exact copy of the objects, simply press the Update Form button. Panorama will create an exact copy of the objects.

However, you are not limited to an exact copy. You can edit the code to modify the new object to any specification you want. In this example the code has been modified to create the new object further down and to the right, with a different color, and with 12 points to the star instead of 5.

When the Update Form button is pressed, the new object according to the modified specifications.

This example showed a single object, but you can use this technique on as many objects as you like.

See Also

- Adjusting Object Spacing -- adjust the spacing between multiple selected objects so that the same amount of space is in between each pair of objects.
- adjustobjectspacing -- adjusts the spacing of selected objects in a form.
- adjustobjectspacingdialog -- opens a dialog sheet to adjust the spacing of the currently selected objects.
- Aligning Objects -- so that two or more object edges are made even with each other.
- Automatic Form Construction -- creates a column of form elements for editing data fields (or variables).
- Automatic Mailing Label Construction -- creates a mailing label.
- Automatic Report Construction -- creates a tabular report with columns of data.
- Cocoa Objects -- discussion of how objects are implemented in Panorama X compared to earlier versions
- Creating a New Form Object -- with the Object Library.
- Data Button Object -- is used to create checkboxes and radio buttons.
- Diagnosing a Formula embedded in a Form Object -- diagnosing problems with formulas embedded in form objects.
- Displaying Data in a Grid -- fundamentals of displaying data in a grid (Text List/Matrix).
- Fixed Image Object -- is used for fixed images (images that never change).
- Fonts -- setting the font and text size of form text objects.
- Form Object Appearance -- changing the color, fill, stroke, opacity and drop shadow attributes of selected objects.
- Form Object Blueprint -- display and edit raw object specifications
- Form Object Code -- associating programming code with an object
- Grouping Objects -- allows you to manipulate multiple objects as if they were a single object.
- Image Display Animations -- animated images.
- Image Display Colors and Gradients -- displaying pure colors and gradients
- Image Display Data Buttons -- checkboxes and radio buttons created from custom images.
- Image Display Object -- is used for dynamic images (images that change depending on the data).
- Image Display Push Buttons -- push buttons created from custom images.
- info("clickedobjectname") -- returns the name of the button that was just clicked.
- Line Item Grid Constructor -- creates a grid of form elements for displaying and editing line item fields.
- Line Object -- draws a line within a form.
- Matrix Clicking -- handling clicks in a Matrix Object.
- Matrix Constructor -- quickly creating a Matrix Object from a template.
- Matrix Database Integration -- synchronizing a Matrix Object with a database.
- Matrix Geometry -- customizing the size and geometry of Matrix Object elements.
- Matrix Header and Horizontal Scrolling -- setting up a custom header for a Matrix Object grid.
- Matrix Object -- displaying a grid of items with a custom arrangement.
- Matrix Object Frame -- setting up the arrangement of items within a Matrix Object.
- Matrix Programming -- programming a Matrix object.
- Object Inspector Panel -- is used to view and modify the attributes of selected objects in a form.
- Object Library -- is used to create new objects in a form.
- Object Names -- can be used to identify an object in a program.
- Oval Object -- draws an oval or circle within a form.
- Polygon Object -- draws a polygon within a form.
- Popup Menu Button Object -- is used to create popup menus anywhere on a form.
- Progress Indicator Object -- is used to create progress indicators
- Push Button Object -- triggers a procedure when it is pushed.
- Rectangle Object -- draws a rectangle or square within a form.
- Report Tile Object -- component for assembling a custom report.
- Rounded Rectangle Object -- draws a rectangle with round corners within a form.
- Scroll Bar Object -- is used to create scroll bars.
- Segmented Button Object -- is used to created segmented buttons.
- Selecting Form Objects -- so that they can be modified.
- Slider Object -- is used to create sliders and knobs.
- Smart Resize -- adjusts the sizes and locations of the other selected objects to match the change of one object.
- Star Object -- draws a star within a form.
- Stepper Object -- is used to create numeric steppers for use with Text Editor objects.
- Tab Panel Appearance -- appearance options for a Tab Panel Object.
- Tab Panel Buttons and Selection -- button options for a Tab Panel Object.
- Tab Panel Constructor -- quickly creating a Tab Panel Object from a template.
- Tab Panel Content -- setting up the content for a Tab Panel Object.
- Tab Panel Forms -- setting up the forms for a Tab Panel Object.
- Tab Panel Object -- switchable tab panels.
- Text Display Object -- is used to display text using a formula.
- Text Editor Object -- is used to edit text in a field or variable.
- Text Label Object -- displays a short, fixed, text item within a form.
- Text List Appearance -- customizing the appearance of a Text List Object.
- Text List Constructor -- quickly creating a Text List Object from a template.
- Text List Database Integration -- synchronizing a Text List Object with a database.
- Text List Multiple Columns -- displaying multiple columns in a Text List Object
- Text List Object -- displaying a grid of text.
- Text List Programming -- programming a Text List Object.
- Text List Searching -- searching within a Text List Object.
- Text List Selection -- selecting items in a Text List Object.
- Text Object Background Color/Gradient -- text object background colors and gradients.
- Web Browser Object -- is used to display web pages from within a Panorama form.

History

Version | Status | Notes
10.0 | Updated | Carried over from Panorama 6.0, but now if you want to prevent diagonal dragging you must wait to press the Shift key until after you start dragging.