import java.awt.CardLayout;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
//TODO apply new settings when another button than close is pressed
public class GuidesLayout extends javax.swing.JPanel {
ElphelVision Parent;
public GuidesLayout(ElphelVision parent) {
Parent = parent;
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
guidespreview1.SetParent(parent);
}
public void Load() {
CenterXButton.setChecked(Parent.Camera.GetGuides()[0]);
OuterXButton.setChecked(Parent.Camera.GetGuides()[1]);
ThirdsButton.setChecked(Parent.Camera.GetGuides()[2]);
SafeAreaButton.setChecked(Parent.Camera.GetGuides()[3]);
guidespreview1.SetOptions(CenterXButton.isChecked(), OuterXButton.isChecked(), ThirdsButton.isChecked(), SafeAreaButton.isChecked());
RedrawPreviewArea();
}
private void RedrawPreviewArea() {
guidespreview1.repaint();
}
/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
bg = new javax.swing.JPanel();
ConfirmationPanel = new javax.swing.JPanel();
SettingsCancelButton = new EButton(Parent);
jPanel1 = new javax.swing.JPanel();
CenterXButton = new EButton(Parent);
ThirdsButton = new EButton(Parent);
OuterXButton = new EButton(Parent);
SafeAreaButton = new EButton(Parent);
guidespreview1 = new Guides();
NavigationPanel1 = new javax.swing.JPanel();
SettingsMenu1Button1 = new EButton(Parent);
SettingsMenu2Button1 = new EButton(Parent);
SettingsMenu3Button = new EButton(Parent);
PhotoSettingsMenu1 = new EButton(Parent);
GuidesMenuButton1 = new EButton(Parent);
bg.setBackground(new java.awt.Color(0, 0, 0));
bg.setPreferredSize(new java.awt.Dimension(1024, 600));
ConfirmationPanel.setBackground(java.awt.Color.black);
SettingsCancelButton.setText("Close");
SettingsCancelButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
SettingsCancelButtonActionPerformed(evt);
}
});
javax.swing.GroupLayout ConfirmationPanelLayout = new javax.swing.GroupLayout(ConfirmationPanel);
ConfirmationPanel.setLayout(ConfirmationPanelLayout);
ConfirmationPanelLayout.setHorizontalGroup(
ConfirmationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(ConfirmationPanelLayout.createSequentialGroup()
.addGap(112, 112, 112)
.addComponent(SettingsCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
ConfirmationPanelLayout.setVerticalGroup(
ConfirmationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(SettingsCancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);
jPanel1.setBackground(new java.awt.Color(0, 0, 0));
CenterXButton.setText("Center X");
CenterXButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CenterXButtonActionPerformed(evt);
}
});
ThirdsButton.setText("Thirds");
ThirdsButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ThirdsButtonActionPerformed(evt);
}
});
OuterXButton.setText("Outer X");
OuterXButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
OuterXButtonActionPerformed(evt);
}
});
SafeAreaButton.setText("Safe Area");
SafeAreaButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
SafeAreaButtonActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(38, 38, 38)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(CenterXButton, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(ThirdsButton, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(OuterXButton, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(SafeAreaButton, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE))))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CenterXButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(ThirdsButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(OuterXButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(SafeAreaButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
guidespreview1.setBackground(new java.awt.Color(76, 76, 76));
NavigationPanel1.setBackground(java.awt.Color.black);
SettingsMenu1Button1.setText("Settings Tab 1");
SettingsMenu1Button1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
SettingsMenu1Button1ActionPerformed(evt);
}
});
SettingsMenu2Button1.setText("Settings Tab 2");
SettingsMenu2Button1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
SettingsMenu2Button1ActionPerformed(evt);
}
});
SettingsMenu3Button.setText("Settings Tab 3");
SettingsMenu3Button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
SettingsMenu3ButtonActionPerformed(evt);
}
});
PhotoSettingsMenu1.setText("Photo Settings");
PhotoSettingsMenu1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
PhotoSettingsMenu1ActionPerformed(evt);
}
});
GuidesMenuButton1.setText("Guides");
GuidesMenuButton1.setChecked(true);
GuidesMenuButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
GuidesMenuButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout NavigationPanel1Layout = new javax.swing.GroupLayout(NavigationPanel1);
NavigationPanel1.setLayout(NavigationPanel1Layout);
NavigationPanel1Layout.setHorizontalGroup(
NavigationPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(NavigationPanel1Layout.createSequentialGroup()
.addComponent(SettingsMenu1Button1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(SettingsMenu2Button1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(SettingsMenu3Button, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(12, 12, 12)
.addComponent(GuidesMenuButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(PhotoSettingsMenu1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))
);
NavigationPanel1Layout.setVerticalGroup(
NavigationPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(NavigationPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(SettingsMenu1Button1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(SettingsMenu2Button1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(SettingsMenu3Button, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(PhotoSettingsMenu1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(GuidesMenuButton1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
javax.swing.GroupLayout bgLayout = new javax.swing.GroupLayout(bg);
bg.setLayout(bgLayout);
bgLayout.setHorizontalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, bgLayout.createSequentialGroup()
.addContainerGap()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, bgLayout.createSequentialGroup()
.addComponent(NavigationPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 262, Short.MAX_VALUE)
.addComponent(ConfirmationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(bgLayout.createSequentialGroup()
.addComponent(guidespreview1, javax.swing.GroupLayout.PREFERRED_SIZE, 712, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 60, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
bgLayout.setVerticalGroup(
bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(bgLayout.createSequentialGroup()
.addContainerGap()
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(guidespreview1, javax.swing.GroupLayout.PREFERRED_SIZE, 399, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 142, Short.MAX_VALUE)
.addGroup(bgLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(NavigationPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(ConfirmationPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.PREFERRED_SIZE, 1026, javax.swing.GroupLayout.PREFERRED_SIZE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);
}// </editor-fold>//GEN-END:initComponents
private void SettingsCancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SettingsCancelButtonActionPerformed
Parent.Camera.SetGuides(CenterXButton.isChecked(), OuterXButton.isChecked(), ThirdsButton.isChecked(), SafeAreaButton.isChecked());
try { // Save to config file
Parent.Camera.WriteConfigFile("autosave.config");
} catch (IOException ex) {
Logger.getLogger(Settings1Layout.class.getName()).log(Level.SEVERE, null, ex);
}
Parent.LoadMainCard();
}//GEN-LAST:event_SettingsCancelButtonActionPerformed
private void CenterXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CenterXButtonActionPerformed
CenterXButton.setChecked(!CenterXButton.isChecked());
guidespreview1.SetOptions(CenterXButton.isChecked(), OuterXButton.isChecked(), ThirdsButton.isChecked(), SafeAreaButton.isChecked());
RedrawPreviewArea();
}//GEN-LAST:event_CenterXButtonActionPerformed
private void ThirdsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ThirdsButtonActionPerformed
ThirdsButton.setChecked(!ThirdsButton.isChecked());
guidespreview1.SetOptions(CenterXButton.isChecked(), OuterXButton.isChecked(), ThirdsButton.isChecked(), SafeAreaButton.isChecked());
RedrawPreviewArea();
}//GEN-LAST:event_ThirdsButtonActionPerformed
private void SafeAreaButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SafeAreaButtonActionPerformed
SafeAreaButton.setChecked(!SafeAreaButton.isChecked());
guidespreview1.SetOptions(CenterXButton.isChecked(), OuterXButton.isChecked(), ThirdsButton.isChecked(), SafeAreaButton.isChecked());
RedrawPreviewArea();
}//GEN-LAST:event_SafeAreaButtonActionPerformed
private void OuterXButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OuterXButtonActionPerformed
OuterXButton.setChecked(!OuterXButton.isChecked());
guidespreview1.SetOptions(CenterXButton.isChecked(), OuterXButton.isChecked(), ThirdsButton.isChecked(), SafeAreaButton.isChecked());
RedrawPreviewArea();
}//GEN-LAST:event_OuterXButtonActionPerformed
private void SettingsMenu1Button1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SettingsMenu1Button1ActionPerformed
CardLayout cl = (CardLayout) (Parent.GetCardManager().getLayout());
cl.show(Parent.GetCardManager(), "Settings1Card");
Parent.StopVideoPlayer();
}//GEN-LAST:event_SettingsMenu1Button1ActionPerformed
private void SettingsMenu2Button1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SettingsMenu2Button1ActionPerformed
CardLayout cl = (CardLayout) (Parent.GetCardManager().getLayout());
cl.show(Parent.GetCardManager(), "Settings2Card");
Parent.Settings2CardLayout.Load();
}//GEN-LAST:event_SettingsMenu2Button1ActionPerformed
private void GuidesMenuButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_GuidesMenuButton1ActionPerformed
}//GEN-LAST:event_GuidesMenuButton1ActionPerformed
private void SettingsMenu3ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SettingsMenu3ButtonActionPerformed
CardLayout cl = (CardLayout) (Parent.GetCardManager().getLayout());
cl.show(Parent.GetCardManager(), "Settings3Card");
Parent.Settings3CardLayout.Load();
}//GEN-LAST:event_SettingsMenu3ButtonActionPerformed
private void PhotoSettingsMenu1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PhotoSettingsMenu1ActionPerformed
Parent.PhotoSettingsCardLayout.Load();
CardLayout cl = (CardLayout) (Parent.GetCardManager().getLayout());
cl.show(Parent.GetCardManager(), "PhotoSettings");
}//GEN-LAST:event_PhotoSettingsMenu1ActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private EButton CenterXButton;
private javax.swing.JPanel ConfirmationPanel;
private EButton GuidesMenuButton1;
private javax.swing.JPanel NavigationPanel1;
private EButton OuterXButton;
private EButton PhotoSettingsMenu1;
private EButton SafeAreaButton;
private EButton SettingsCancelButton;
private EButton SettingsMenu1Button1;
private EButton SettingsMenu2Button1;
private EButton SettingsMenu3Button;
private EButton ThirdsButton;
private javax.swing.JPanel bg;
private Guides guidespreview1;
private javax.swing.JPanel jPanel1;
// End of variables declaration//GEN-END:variables
}