]> git.mxchange.org Git - jcore.git/commitdiff
Import from addressbook
authorRoland Haeder <roland@mxchange.org>
Tue, 11 Aug 2015 07:06:10 +0000 (09:06 +0200)
committerRoland Haeder <roland@mxchange.org>
Tue, 11 Aug 2015 07:09:05 +0000 (09:09 +0200)
Signed-off-by:Roland Häder <roland@mxchange.org>

src/org/mxchange/jcore/client/gui/ClientFrame.java [new file with mode: 0644]
src/org/mxchange/jcore/model/swing/contact/ContactTableModel.java [new file with mode: 0644]

diff --git a/src/org/mxchange/jcore/client/gui/ClientFrame.java b/src/org/mxchange/jcore/client/gui/ClientFrame.java
new file mode 100644 (file)
index 0000000..6f4f22c
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2015 Roland Haeder
+ *
+ * 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 3 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, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jcore.client.gui;
+
+import org.mxchange.jcore.FrameworkInterface;
+import org.mxchange.jcore.client.Client;
+import org.mxchange.jcore.contact.Contact;
+import org.mxchange.jcore.exceptions.FrameAlreadyInitializedException;
+
+/**
+ * An interface for applications with a frame
+ *
+ * @author Roland Haeder
+ */
+public interface ClientFrame extends FrameworkInterface {
+
+       /**
+        * Shows the user the "add contact" form with some special text
+        * 
+        * @return Contact instance
+        */
+       public Contact doEnterOwnData ();
+
+       /**
+        * Shutdown this frame
+        */
+       public void doShutdown ();
+
+       /**
+        * Enables main window (frame)
+        */
+       public void enableMainWindow ();
+
+       /**
+        * Setups the frame (and starts it). You have to call init() before you can
+        * call this method.
+        *
+        * @param client Client instance
+        */
+       public void setupFrame (final Client client);
+
+       /**
+        * Initializes frame
+        *
+        * @throws
+        * org.mxchange.jcore.exceptions.FrameAlreadyInitializedException If
+        * this method has been called twice
+        */
+       public void init () throws FrameAlreadyInitializedException;
+
+       /**
+        * Returns field isInitialized. This flag indicates whether this frame has
+        * been initialized or not.
+        *
+        * @return Field isInitialized
+        */
+       public boolean isInitialized ();
+
+       /**
+        * Shuts down application
+        */
+       public void shutdownApplication ();
+}
diff --git a/src/org/mxchange/jcore/model/swing/contact/ContactTableModel.java b/src/org/mxchange/jcore/model/swing/contact/ContactTableModel.java
new file mode 100644 (file)
index 0000000..a24da4a
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2015 Roland Haeder
+ *
+ * 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 3 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, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jcore.model.swing.contact;
+
+import java.text.MessageFormat;
+import javax.swing.table.TableModel;
+import org.mxchange.jcore.client.Client;
+import org.mxchange.jcore.manager.database.ManageableDatabase;
+import org.mxchange.jcore.model.BaseModel;
+
+/**
+ * A table model for contacts
+ *
+ * @author Roland Haeder
+ */
+public class ContactTableModel extends BaseModel implements TableModel {
+
+       /**
+        * Constructor with Client instance which holds the contact manager
+        *
+        * @param client Client instance
+        */
+       public ContactTableModel (final Client client) {
+               // Trace message
+               this.getLogger().trace(MessageFormat.format("client={1} - CALLED!", client)); //NOI18N
+
+               // Client must not be null
+               if (client == null)  {
+                       // Abort here
+                       throw new NullPointerException("client is null"); //NOI18N
+               }
+
+               // Set client
+               this.setClient(client);
+       }
+
+       @Override
+       public Class<?> getColumnClass (final int columnIndex) {
+               // All is the same
+               return Object.class;
+       }
+
+       @Override
+       public int getColumnCount () {
+               // Get manager
+               ManageableDatabase manager = (ManageableDatabase) this.getClient().getManager();
+
+               // Deligate this call to contact manager
+               return manager.getColumnCount();
+       }
+
+       @Override
+       public String getColumnName (final int columnIndex) {
+               // Get manager
+               ManageableDatabase manager = (ManageableDatabase) this.getClient().getManager();
+
+               // Deligate this call to contact manager
+               return manager.getTranslatedColumnName(columnIndex);
+       }
+
+       @Override
+       public int getRowCount () {
+               // Get manager
+               ManageableDatabase manager = (ManageableDatabase) this.getClient().getManager();
+
+               // Deligate this call to contact manager
+               return manager.size();
+       }
+
+       @Override
+       public Object getValueAt (final int rowIndex, final int columnIndex) {
+               // Get manager
+               ManageableDatabase manager = (ManageableDatabase) this.getClient().getManager();
+
+               // Deligate this call to contact manager
+               return manager.getValueFromRowColumn(rowIndex, columnIndex);
+       }
+
+       @Override
+       public boolean isCellEditable (final int rowIndex, final int columnIndex) {
+               throw new UnsupportedOperationException("Not supported yet. rowIndex=" + rowIndex + ",columnIndex=" + columnIndex); //To change body of generated methods, choose Tools | Templates.
+       }
+
+       @Override
+       public void setValueAt (final Object value, final int rowIndex, final int columnIndex) {
+               throw new UnsupportedOperationException("Not supported yet. value=" + value + ",rowIndex=" + rowIndex + ",columnIndex=" + columnIndex); //To change body of generated methods, choose Tools | Templates.
+       }
+}