ObsidianDragon - DragonX ImGui Wallet
Full-node GUI wallet for DragonX cryptocurrency. Built with Dear ImGui, SDL3, and OpenGL3/DX11. Features: - Send/receive shielded and transparent transactions - Autoshield with merged transaction display - Built-in CPU mining (xmrig) - Peer management and network monitoring - Wallet encryption with PIN lock - QR code generation for receive addresses - Transaction history with pagination - Console for direct RPC commands - Cross-platform (Linux, Windows)
This commit is contained in:
122
src/ui/material/components/components.h
Normal file
122
src/ui/material/components/components.h
Normal file
@@ -0,0 +1,122 @@
|
||||
// DragonX Wallet - ImGui Edition
|
||||
// Copyright 2024-2026 The Hush Developers
|
||||
// Released under the GPLv3
|
||||
|
||||
#pragma once
|
||||
|
||||
// ============================================================================
|
||||
// Material Design Components - Unified Header
|
||||
// ============================================================================
|
||||
// Include this single header to get all Material Design components.
|
||||
//
|
||||
// Based on Material Design 2 (m2.material.io)
|
||||
//
|
||||
// All components are in the namespace: dragonx::ui::material
|
||||
|
||||
// Core dependencies
|
||||
#include "../colors.h"
|
||||
#include "../typography.h"
|
||||
#include "../layout.h"
|
||||
|
||||
// Components
|
||||
#include "buttons.h" // Button, IconButton, FAB
|
||||
#include "cards.h" // Card, CardHeader, CardContent, CardActions
|
||||
#include "text_fields.h" // TextField
|
||||
#include "lists.h" // ListItem, ListDivider, ListSubheader
|
||||
#include "dialogs.h" // Dialog, ConfirmDialog, AlertDialog
|
||||
#include "inputs.h" // Switch, Checkbox, RadioButton
|
||||
#include "progress.h" // LinearProgress, CircularProgress
|
||||
#include "snackbar.h" // Snackbar, ShowSnackbar
|
||||
#include "slider.h" // Slider, SliderDiscrete, SliderRange
|
||||
#include "tabs.h" // TabBar, Tab
|
||||
#include "chips.h" // Chip, FilterChip, ChoiceChip, InputChip
|
||||
#include "nav_drawer.h" // NavDrawer, NavItem
|
||||
#include "app_bar.h" // AppBar, AppBarTitle, AppBarAction
|
||||
|
||||
// ============================================================================
|
||||
// Quick Reference
|
||||
// ============================================================================
|
||||
//
|
||||
// BUTTONS:
|
||||
// Button(label, spec) - Generic button with style config
|
||||
// TextButton(label) - Text-only button
|
||||
// OutlinedButton(label) - Button with outline
|
||||
// ContainedButton(label) - Filled button (primary)
|
||||
// IconButton(icon, tooltip) - Circular icon button
|
||||
// FAB(icon) - Floating action button
|
||||
//
|
||||
// CARDS:
|
||||
// BeginCard(spec)/EndCard() - Card container
|
||||
// CardHeader(title, subtitle) - Card header section
|
||||
// CardContent(text) - Card body text
|
||||
// CardActions()/EndCardActions()- Card button area
|
||||
//
|
||||
// TEXT FIELDS:
|
||||
// TextField(label, buf, size) - Text input field
|
||||
// TextField(id, buf, size, spec)- Configurable text field
|
||||
//
|
||||
// LISTS:
|
||||
// BeginList(id)/EndList() - List container
|
||||
// ListItem(text) - Simple list item
|
||||
// ListItem(primary, secondary) - Two-line item
|
||||
// ListItem(spec) - Full config item
|
||||
// ListDivider(inset) - Divider line
|
||||
// ListSubheader(text) - Section header
|
||||
//
|
||||
// DIALOGS:
|
||||
// BeginDialog(id, &open, spec) - Modal dialog
|
||||
// EndDialog()
|
||||
// ConfirmDialog(...) - Confirm/cancel dialog
|
||||
// AlertDialog(...) - Single-action alert
|
||||
//
|
||||
// SELECTION CONTROLS:
|
||||
// Switch(label, &value) - Toggle switch
|
||||
// Checkbox(label, &value) - Checkbox
|
||||
// RadioButton(label, active) - Radio button
|
||||
// RadioButton(label, &sel, val) - Radio with int selection
|
||||
//
|
||||
// PROGRESS:
|
||||
// LinearProgress(fraction) - Determinate progress bar
|
||||
// LinearProgressIndeterminate() - Indeterminate progress bar
|
||||
// CircularProgress(fraction) - Circular progress
|
||||
// CircularProgressIndeterminate()- Spinner
|
||||
//
|
||||
// SNACKBAR:
|
||||
// ShowSnackbar(msg, action) - Show notification
|
||||
// DismissSnackbar() - Dismiss current snackbar
|
||||
// RenderSnackbar() - Call each frame to render
|
||||
//
|
||||
// SLIDER:
|
||||
// Slider(label, &val, min, max) - Continuous slider
|
||||
// SliderInt(label, &val, ...) - Integer slider
|
||||
// SliderDiscrete(...) - Stepped slider
|
||||
// SliderRange(...) - Two-thumb range slider
|
||||
//
|
||||
// TABS:
|
||||
// BeginTabBar(id, &idx) - Tab bar container
|
||||
// Tab(label) - Tab item
|
||||
// EndTabBar()
|
||||
// TabBar(id, labels, count, &idx) - Simple tab bar
|
||||
//
|
||||
// CHIPS:
|
||||
// Chip(label) - Action chip
|
||||
// FilterChip(label, &selected) - Toggleable filter chip
|
||||
// ChoiceChip(label, selected) - Choice chip
|
||||
// InputChip(label, avatar) - Deletable input chip
|
||||
// BeginChipGroup()/EndChipGroup()- Chip layout helper
|
||||
//
|
||||
// NAVIGATION DRAWER:
|
||||
// BeginNavDrawer(id, &open, spec) - Navigation drawer
|
||||
// EndNavDrawer()
|
||||
// NavItem(icon, label, selected) - Navigation item
|
||||
// NavDivider() - Drawer divider
|
||||
// NavSubheader(text) - Section header
|
||||
//
|
||||
// APP BAR:
|
||||
// BeginAppBar(id, spec) - Top app bar
|
||||
// EndAppBar()
|
||||
// AppBarNavIcon(icon) - Navigation icon (left)
|
||||
// AppBarTitle(title) - App bar title
|
||||
// AppBarAction(icon) - Action button (right)
|
||||
// BeginAppBarMenu(icon) - Overflow menu
|
||||
// AppBarMenuItem(label) - Menu item
|
||||
Reference in New Issue
Block a user