diff --git a/GUI/View/Frame/Fit1DFrame.cpp b/GUI/View/Frame/Fit1DFrame.cpp
index dc25e23011c0106b9f9693a73d8d36223932117c..66873ed8be542c2e3ad834f9fe482419f8826dba 100644
--- a/GUI/View/Frame/Fit1DFrame.cpp
+++ b/GUI/View/Frame/Fit1DFrame.cpp
@@ -72,8 +72,6 @@ Fit1DFrame::Fit1DFrame(JobItem* job_item)
     connect(m_reset_view_action, &QAction::triggered, this, &Fit1DFrame::onResetViewAction);
 
     m_axis_panel->setVisible(false);
-    connect(m_axis_panel, &DataPropertyWidget::axesRangeResetRequested, this,
-            &Fit1DFrame::onResetViewAction);
 
     ASSERT(job_item);
     m_data_source = std::make_unique<DataSource>(job_item);
diff --git a/GUI/View/Frame/SpecularFrame.cpp b/GUI/View/Frame/SpecularFrame.cpp
index b9edfe2f54d6a0d4cc6eb522783422b2c53b36e3..829d1afd1be32f6ab580974b0cefa74d91f62f62 100644
--- a/GUI/View/Frame/SpecularFrame.cpp
+++ b/GUI/View/Frame/SpecularFrame.cpp
@@ -46,7 +46,7 @@ SpecularFrame::SpecularFrame(Data1DItem* item)
     hlayout->addWidget(m_specular_canvas);
 
     connect(m_specular_canvas, &SpecularDataCanvas::customContextMenuRequested,
-	    [](const QPoint& point) { execContextMenu(point); });
+            [](const QPoint& point) { execContextMenu(point); });
 
     auto* axis_panel = new AxisPanel;
     hlayout->addWidget(axis_panel);
diff --git a/GUI/View/Setup/AxisPanel.cpp b/GUI/View/Setup/AxisPanel.cpp
index aa9362d5f0d7338fe758c43afde182cffeec765a..d6831809d421db42ca789f380bb8f55a09ef1a6d 100644
--- a/GUI/View/Setup/AxisPanel.cpp
+++ b/GUI/View/Setup/AxisPanel.cpp
@@ -13,10 +13,16 @@
 //  ************************************************************************************************
 
 #include "GUI/View/Setup/AxisPanel.h"
+#include "Base/Axis/Frame.h"
+#include "Base/Util/Assert.h"
 #include "GUI/Model/Axis/AmplitudeAxisItem.h"
 #include "GUI/Model/Axis/BasicAxisItem.h"
 #include "GUI/Model/Data/Data1DItem.h"
+#include "GUI/Model/Data/DataItem.h"
+#include "GUI/Model/Device/DatafileItem.h"
+#include "GUI/Model/Device/InstrumentItems.h"
 #include "GUI/Model/Job/DataSource.h"
+#include "GUI/Model/Job/JobItem.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 #include "GUI/Support/Data/ComboProperty.h"
 #include "GUI/View/Numeric/DoubleSpinBox.h"
@@ -28,6 +34,17 @@
 #include <QFormLayout>
 #include <QLineEdit>
 
+AxisPanel::AxisPanel()
+    : m_main_layout(new QFormLayout(this))
+{
+    setWindowTitle("Properties");
+
+    m_main_layout->setContentsMargins(8, 20, 8, 8);
+    m_main_layout->setSpacing(5);
+}
+
+AxisPanel::~AxisPanel() = default;
+
 void AxisPanel::createPanelElements()
 {
     setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding);
@@ -41,20 +58,6 @@ void AxisPanel::createPanelElements()
     GUI::Util::Layout::clearLayout(m_main_layout);
     m_updaters.clear();
 
-    /*
-    m_main_layout->addRow("Axes units:",
-                         GUI::Util::createUnitsComboBox(
-                             axesUnitsList(),
-                             [this] { return currentData1DItem()->currentAxesUnits(); },
-                             [this](const QString& newVal) {
-                                 for (auto item : allData1DItems())
-                                     item->setCurrentAxesUnits(newVal);
-                                 emit axesRangeResetRequested();
-                                 gDoc->setModified();
-                             },
-                             &m_updaters));
-    */
-
     // -- x-axis
     auto* xGroup = new StaticGroupBox("X axis", this);
     auto* xFormLayout = new QFormLayout(xGroup->body());
@@ -151,3 +154,24 @@ void AxisPanel::createPanelElements()
         connect(item, &DataItem::axesUnitsChanged, this, &AxisPanel::updateItemCoords,
                 Qt::UniqueConnection);
 }
+
+void AxisPanel::setJobOrDatafileItem(QObject* item)
+{
+    m_data_source = std::make_unique<DataSource>(item);
+    createPanelElements();
+}
+
+void AxisPanel::updateItemCoords(DataItem* item)
+{
+    if (!item)
+        return;
+
+    emit item->axesUnitsReplotRequested();
+    updateUIValues();
+}
+
+void AxisPanel::updateUIValues()
+{
+    for (const auto& updater : m_updaters)
+        updater();
+}
diff --git a/GUI/View/Setup/AxisPanel.h b/GUI/View/Setup/AxisPanel.h
index 14107cbac13f1c04e5c0afee47bb8c587d9c2486..c5dda6a132b210a299136883682fa200e7f58b7c 100644
--- a/GUI/View/Setup/AxisPanel.h
+++ b/GUI/View/Setup/AxisPanel.h
@@ -15,13 +15,31 @@
 #ifndef BORNAGAIN_GUI_VIEW_SETUP_AXISPANEL_H
 #define BORNAGAIN_GUI_VIEW_SETUP_AXISPANEL_H
 
-#include "GUI/View/Access/DataPropertyWidget.h"
+#include <QFormLayout>
+#include <QWidget>
+
+class DataItem;
+class DataSource;
 
 //! Widget to edit properties of a Data1DItem.
 
-class AxisPanel : public DataPropertyWidget {
+class AxisPanel : public QWidget {
+    Q_OBJECT
+public:
+    AxisPanel();
+    ~AxisPanel();
+
+    void setJobOrDatafileItem(QObject* item);
+
 private:
-    void createPanelElements() override;
+    void updateItemCoords(DataItem* item);
+    void updateUIValues();
+    void createPanelElements();
+
+    QFormLayout* m_main_layout;
+    QList<std::function<void()>> m_updaters;
+
+    std::unique_ptr<DataSource> m_data_source;
 };
 
 #endif // BORNAGAIN_GUI_VIEW_SETUP_AXISPANEL_H