Remote support ~complete (need more tests at least)
[jvcard.git] / src / be / nikiroo / jvcard / tui / panes / MainContent.java
index 0bc9b29fce7bc091d0f3696534776b640b340b34..26cd7cb8ae330797e8394f27eb831762480241ac 100644 (file)
@@ -1,5 +1,6 @@
 package be.nikiroo.jvcard.tui.panes;
 
+import java.io.IOException;
 import java.util.List;
 
 import be.nikiroo.jvcard.tui.KeyAction;
@@ -29,13 +30,6 @@ abstract public class MainContent extends Panel {
                setLayoutManager(layout);
        }
 
-       /**
-        * The {@link KeyAction#Mode} that links to this {@link MainContent}.
-        * 
-        * @return the linked mode
-        */
-       abstract public KeyAction.Mode getMode();
-
        /**
         * The kind of data displayed by this {@link MainContent}.
         * 
@@ -51,12 +45,14 @@ abstract public class MainContent extends Panel {
        abstract public List<KeyAction> getKeyBindings();
 
        /**
-        * The title to display instead of the application name, or NULL for the
+        * The title to display in addition to the application name, or NULL for the
         * default application name.
         * 
         * @return the title or NULL
         */
-       abstract public String getTitle();
+       public String getTitle() {
+               return null;
+       }
 
        /**
         * Returns an error message ready to be displayed if we should ask something
@@ -92,4 +88,26 @@ abstract public class MainContent extends Panel {
        public int getCount() {
                return -1;
        }
+
+       /**
+        * Refresh the display according to the actual data (this method should be
+        * called when the data changed).
+        */
+       public void refreshData() {
+               invalidate();
+       }
+
+       /**
+        * Wake up call when the content is popped-back into view. You should call
+        * this method when you exit a previous content and come back to this one.
+        * 
+        * @return a message to display, or NULL
+        * 
+        * @throws IOException
+        *             in case of error (the message of the {@link IOException} will
+        *             be displayed to the user)
+        */
+       public String wakeup() throws IOException {
+               return null;
+       }
 }