package io.github.zeleven.mua.fraction;
import io.github.zeleven.mua.BaseEditorFragment;
import io.github.zeleven.mua.EditorAction;
import io.github.zeleven.mua.ResourceTable;
import io.github.zeleven.mua.bean.EditCallback;
import io.github.zeleven.mua.bean.FileBean;
import io.github.zeleven.mua.bean.StringCache;
import io.github.zeleven.mua.slice.EditAbilitySlice;
import io.github.zeleven.mua.utl.PreferenceUtil;
import io.github.zeleven.mua.utl.ReadFileUntils;
import io.github.zeleven.mua.utl.SaveDrawingTask;
import io.github.zeleven.mua.utl.ScreenUtils;
import io.github.zeleven.mua.utl.ToastUtil;
import io.github.zeleven.mua.view.BaseTextField;
import ohos.aafwk.ability.AbilitySlice;
import ohos.agp.components.Component;
import ohos.agp.components.ComponentContainer;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.Image;
import ohos.agp.components.LayoutScatter;
import ohos.agp.components.Text;
import ohos.agp.components.TextField;
import ohos.agp.utils.Color;
import ohos.agp.utils.LayoutAlignment;
import ohos.agp.window.dialog.CommonDialog;
import ohos.agp.window.dialog.PopupDialog;
import ohos.agp.window.dialog.ToastDialog;
import ohos.app.Environment;
import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* EditFragment
*
* @since 2021-05-11
*/
public class EditFragment extends BaseEditorFragment implements Component.ClickedListener {
private static final int INT = 0x001234;
private static HiLogLabel hiLogLabel = new HiLogLabel(HiLog.LOG_APP, INT, "zf------");
private static final int SIX = 6;
private static final int SEVEN = 7;
private static final int THREE = 3;
private static final int FOUR = 4;
private static final int INT_99 = 99;
private BaseTextField contentInput;
private EditorAction editorAction;
private Image headingBtn;
private Image boldBtn;
private Image italicBtn;
private Image blockCodeBtn;
private Image quoteBtn;
private Image listNumberBtn;
private Image listBulletBtn;
private Image linkBtn;
private Image imageBtn;
private Image back;
private Image more;
private Image preview;
private Image undo;
private Image redo;
private Text rename;
private Text delete;
private Text save;
private Text clear;
private Text sheet;
private Text statistics;
private PopupDialog menuDialog;
private EditCallback callback;
private AbilitySlice slice;
private String fileName;
private Component menuComponent;
private boolean isSave = false;
private String renameString = "";
private Text textlenght1;
/**
* EditFragment
*
* @param slice
* @param callback
*/
public EditFragment(AbilitySlice slice, EditCallback callback) {
this.slice = slice;
this.callback = callback;
}
@Override
public int getLayoutId() {
return ResourceTable.Layout_fragment_edit;
}
/***
* setContent
*
* @param content
*/
public void setContent(String content) {
contentInput.setText(content);
}
/**
* setFileName
*
* @param isMsave
*/
public void setFileName(boolean isMsave) {
this.isSave = isMsave;
}
/**
* setSave
*
* @param isMsave
*/
public void setSave(boolean isMsave) {
this.isSave = isMsave;
}
@Override
public void initView(Component view) {
super.initView(view);
contentInput = (BaseTextField) view.findComponentById(ResourceTable.Id_content_input);
headingBtn = (Image) view.findComponentById(ResourceTable.Id_heading);
boldBtn = (Image) view.findComponentById(ResourceTable.Id_bold);
italicBtn = (Image) view.findComponentById(ResourceTable.Id_italic);
blockCodeBtn = (Image) view.findComponentById(ResourceTable.Id_code);
quoteBtn = (Image) view.findComponentById(ResourceTable.Id_quote);
listNumberBtn = (Image) view.findComponentById(ResourceTable.Id_list_number);
listBulletBtn = (Image) view.findComponentById(ResourceTable.Id_list_bullet);
linkBtn = (Image) view.findComponentById(ResourceTable.Id_link);
imageBtn = (Image) view.findComponentById(ResourceTable.Id_image);
back = (Image) view.findComponentById(ResourceTable.Id_ic_back_img);
more = (Image) view.findComponentById(ResourceTable.Id_ic_more_img);
preview = (Image) view.findComponentById(ResourceTable.Id_ic_preview_img);
undo = (Image) view.findComponentById(ResourceTable.Id_ic_undo_img);
redo = (Image) view.findComponentById(ResourceTable.Id_ic_redo_img);
if (fileContent != null) {
contentInput.setText(fileContent);
}
if (editorAction == null) {
editorAction = new EditorAction();
}
editorAction = new EditorAction(slice, contentInput);
contentInput.requestFocus();
if (!StringCache.getInstance().getString().isEmpty() || !StringCache.getInstance().getString().equals("")) {
contentInput.setText(StringCache.getInstance().getString());
}
setOnClickListener();
}
@Override
public void onClick(Component v) {
switch (v.getId()) {
case ResourceTable.Id_heading:
editorAction.heading();
break;
case ResourceTable.Id_bold:
editorAction.bold();
break;
case ResourceTable.Id_italic:
editorAction.italic();
break;
case ResourceTable.Id_code:
editorAction.insertCode();
break;
case ResourceTable.Id_quote:
editorAction.quote();
break;
case ResourceTable.Id_list_number:
editorAction.orderedList();
break;
case ResourceTable.Id_list_bullet:
editorAction.unorderedList();
break;
case ResourceTable.Id_link:
editorAction.insertLink();
break;
case ResourceTable.Id_image:
showImageDialog();
break;
case ResourceTable.Id_ic_preview_img:
HiLog.info(hiLogLabel, "" + contentInput.getText());
callback.preview(1, contentInput.getText());
setCacheStatic(contentInput.getText());
break;
case ResourceTable.Id_ic_back_img:
callback.preview(THREE, "");
break;
case ResourceTable.Id_ic_more_img:
showMenuDialog();
break;
case ResourceTable.Id_menu_save:
if (!isSave && fileName == null) {
menuDialog.remove();
showSaveDialog();
} else if (isSave) {
saveContent();
menuDialog.remove();
clearFocus(menuComponent);
} else {
menuDialog.remove();
clearFocus(menuComponent);
}
break;
case ResourceTable.Id_menu_rename:
if (isSave) {
menuDialog.remove();
showRenameDialog();
}
break;
case ResourceTable.Id_menu_delete:
if (isSave) {
menuDialog.remove();
showDeleteDialog();
}
break;
case ResourceTable.Id_menu_clear:
menuDialog.remove();
if (contentInput.getText().length() == 0) {
ToastUtil.toast(slice, "内容为空");
} else {
showClearDialog();
}
break;
case
没有合适的资源?快使用搜索试试~ 我知道了~
openharmony的第三方组件适配移植
共144个文件
xml:42个
java:38个
png:37个
0 下载量 133 浏览量
2023-08-05
09:16:01
上传
评论
收藏 642KB ZIP 举报
温馨提示
支持多语言 支持GFM Markdown 语法说明 工具栏,用于插入Markdown代码、图片、加粗、斜体等等 菜单操作,用于保存、重命名、删除等 文件搜索 MIT协议
资源推荐
资源详情
资源评论
收起资源包目录
openharmony的第三方组件适配移植 (144个子文件)
gradlew.bat 3KB
github-markdown.css 14KB
demo.gif 384KB
.gitignore 261B
.gitignore 7B
build.gradle 898B
build.gradle 721B
settings.gradle 17B
gradlew 6KB
markdown-cheatsheet-zh.html 26KB
markdown-cheatsheet-zh_rTW.html 26KB
markdown-cheatsheet-en.html 26KB
markdown.html 839B
gradle-wrapper.jar 57KB
EditFragment.java 28KB
EditorAction.java 20KB
SettingsFragment.java 18KB
MainAbilitySlice.java 17KB
SlidingDrawer.java 16KB
MainFraction.java 14KB
ToastUtil.java 6KB
AboutFraction.java 5KB
SaveDrawingTask.java 5KB
HelpFraction.java 4KB
BaseTextField.java 4KB
ScreenUtils.java 3KB
EditAbilitySlice.java 3KB
PreferenceUtil.java 3KB
DataAbility.java 3KB
ListContainerAdapter.java 3KB
DialogUtil.java 3KB
PreviewFragment.java 3KB
ReadFileUntils.java 3KB
StringCache.java 2KB
FileBean.java 2KB
LogUtil.java 2KB
PermissionUtils.java 2KB
WbeFraction.java 2KB
BaseEditorFragment.java 1KB
JudgeBean.java 1018B
OnDrawerScrollListener.java 949B
MainAbility.java 946B
EditCallback.java 835B
OnDrawerCloseListener.java 829B
OnDrawerOpenListener.java 825B
SliceCallBack.java 814B
MyApplication.java 658B
CustomViewPager.java 651B
EditAbility.java 463B
ExampleOhosTest.java 459B
SaveDrawingTaskTest.java 350B
ExampleTest.java 129B
drawer_header.jpg 10KB
marked.min.js 16KB
string.json 24KB
string.json 24KB
string.json 8KB
float.json 3KB
config.json 3KB
config.json 878B
LICENSE 1KB
CHANGELOG.md 227B
zhihu.png 16KB
email.png 12KB
radio_true.png 10KB
radio_false.png 8KB
icon.png 7KB
logo.png 5KB
github.png 4KB
ic_add.png 3KB
checkbok.png 3KB
title_left.png 3KB
rotate.png 1KB
ic_preview.png 1KB
ic_undo.png 1KB
ic_mode_edit.png 1KB
ic_redo.png 1KB
ic_help.png 919B
ic_back.png 859B
ic_settings.png 836B
ic_color_lens.png 790B
ic_sync.png 748B
ic_more.png 624B
ic_cloud.png 560B
ic_search.png 549B
ic_strikethrough.png 542B
ic_close.png 539B
ic_link.png 461B
add_background.png 451B
ic_image.png 395B
ic_underline.png 394B
ic_save.png 360B
ic_code.png 358B
ic_bold.png 354B
ic_italic.png 282B
ic_list_number.png 254B
ic_quote.png 225B
ic_list_bullet.png 189B
ic_title.png 169B
proguard-rules.pro 45B
共 144 条
- 1
- 2
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6804
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功